открываем /core/cms.phpА как можно сделать чтоб адрес выглядел не как сейчас например instantcms.ru/users/nikitka просто instantcms.ru/nikitka
находим обработку компонента по умолчанию (строка 1565)
//если компонент не существует, считаем что это content $this->uri = 'content/'.$this->uri; $this->is_content = true; return 'content';
$this->uri='users/'.$this->uri; return 'users'; exit; } $useractions='wall-add,wall-delete,karma,city,hobby,search.html,awardslist.html,delaward, restoreprofile,delmsg,files,latest,positive,rating,invites,online,all,login,logout'; $this->uri='users/'.$this->uri; return 'users'; exit; } $inDB = cmsDatabase::getInstance(); $result = $inDB->query($q) ; if (($result)&&($inDB->num_rows($result))){ $this->uri='users/'.$this->uri; return 'users'; } else{ //если компонент не существует, считаем что это content $this->uri = 'content/'.$this->uri; $this->is_content = true; return 'content'; }
1490 — $found = false;
дописать
//tarzan: обработка загрузки пользовательских данных return $uri; exit; }
url_rewrite.php
в начало (перед первым правилом)
'source' => '/^users\/(.+)$/i', 'target' => '/{1}', 'action' => 'redirect-301' ); return $rules;
arhive
autoawards
banners
blogs
board
catalog
clubs
comments
content
faq
forms
forum
photos
price
registration
rssfeed
search
statistics
users
Так же, необходимо будет помнить, что не следует в дальнейшем создавать разделы материалов или статьи с URLами
wall-add,wall-delete,karma,city,hobby,search.html,awardslist.html,delaward, restoreprofile,delmsg,files,latest,positive,rating,invites,online,all
— их не будет "видно"
Реклама #
nikitka 13 лет назад #
Все равно спасибо и плю Вам!Буду пробовать что с этого получиться )
Protomoto 13 лет назад #
nikitka 13 лет назад #
Protomoto 13 лет назад #
как в анекдоте
admin: предупреждение за мат
для заворачивания можно дописать в url_rewrie.php
$rules[] = array(
'source' => '/^users\/(.+)$/i',
'target' => '/{1}',
'action' => 'redirect-301'
);
НО будет проблема с вложенными страницами (users/1/messages.html) - нужно еще с регекспом поколдовать
Эдька 13 лет назад #
nikitka 13 лет назад #
Protomoto 13 лет назад #
nikitka 13 лет назад #
Protomoto 13 лет назад #
nikitka 13 лет назад #
+++++++
nikitka 13 лет назад #
$rules[] = array(
'source' => '/^users\/(.+)$/i',
'target' => '/{1}',
'action' => 'redirect-301'
);
ССЫЛКИ ТИПА http://instantcms.ru/users/nikitka ВЕДУТ ПРОСТО НА БЕЛУЮ СТРАНИЧКУ!F КАК ЖЕ БЫТЬ ?ВЕДЬ ВО ВСЕМ ДВИЖКЕ ПЕРЕЧЕНЬ ПОЛЬЗОВАТЕЛЕЙ ДА И В ЛЮБОМ МЕСТЕ ГДЕ ЕСТЬ ССЫЛКА НА СТРАНИЧКУ ПОЛЬЗОВАТЕЛЯ ДВИЖЕК ФОРМИРУЕТ ИМЕННО С "USERS"КаК УКАЗАТЬ ЧТОБ ССЫЛКА ФОРМИРОВАЛАСЬ ТИПА http://instantcms.ru/nikitka ?
Protomoto 13 лет назад #
Давай в частном порядке, через сообщения. Линк сайта, код url_rewrite.php
Сергей Игоревич 13 лет назад #
Protomoto 13 лет назад #
Protomoto 13 лет назад #
так перенаправлять в профиль
в блог - нужно немножко доработать
переделать запрос на получение названия блога и изменить соответственно перенаправление
ssh2k 13 лет назад #
Крылов Сергей 13 лет назад #
Но, во время тестирования, заметил, что удалить запись со стены пользователя не получается - 404 ошибка.
Protomoto 13 лет назад #
Посему, если будут баги - пишите, будем исправлять
На текущий момент обновлена статья: теперь фото, файлы, записи стены, аватары загружаются нормально
Остается пока не решенной проблема скачивания загруженных файлов
artlab 13 лет назад #
насколько это безопастно и т. п.
Protomoto 13 лет назад #
1. Когда первым в строке запроса идет логин пользователя (собственно, профиль http://instantcms.ru/users/nikitka)
2. Когда первым в строке запроса идет ID пользователя (http://instantcms.ru/users/1/messages.html)
3. Когда первым в строке идет операция или раздел (http://instantcms.ru/users/rating/)
таким образом, проблематично однозначно определять принадлежность запроса к компоненту Пользователи - приходится накладывать ограничения, что описаны в конце статьи.
Насколько я понимаю, Instant был изначально спроектирован, с ориентацией на статьи/материалы, теперь же идет декларация социальности движка. Поэтому, следует что-то делать:
1. Либо переделывать компонент пользователей
2. Либо включать статьи/материалы в рядовые компоненты, а не "если ничего из вышеописанного - значит это статья". Таким правом наделять обработку запросов компонентом Пользователи
Korvin 13 лет назад #
Пока что убрал строчку 'action' => 'redirect-301'
Но вид ссылок остался - т.к. теперь не перенаправляет.
_______________________________________________________
Если нашли решение, подскажите, пожалуйста! Буду благодарен!
Protomoto 13 лет назад #
Protomoto 13 лет назад #
Виктор Кел 13 лет назад #
С таким раскладом приятней url выглядит .
СПАСИБО!!!!!!
Виктор Кел 13 лет назад #
tarzan вы не в курсе из за чего так происходит ?
Korvin 13 лет назад #
Очень хотелось бы её решить! Могу предоставить доступ по фтп на свой сайт для поиска решения!
Виктор Кел 13 лет назад #
в место этого
Protomoto 13 лет назад #
Protomoto 13 лет назад #
Виктор Кел 13 лет назад #
nedoriko 12 лет назад #
Виктор Кел 13 лет назад #
tarzan , буду благодарен за подсказку , как исправить это .
Korvin 13 лет назад #
Виктор Кел 13 лет назад #
Korvin 13 лет назад #
Sich 13 лет назад #
nedoriko 12 лет назад #
Sich 13 лет назад #
Виктор Кел 13 лет назад #
YuGiN 13 лет назад #
Виктор Кел 12 лет назад #
nedoriko 12 лет назад #
nedoriko 12 лет назад #
так вот. если этот код не прописывать а все остальное сделать, то работает нормалек. ну или почти нормалек.тоесть эта ошибка
на профиль пользователя можно попасть как по ссылке .ru/users/test так и по .ru/test
этот вариант можно использовать в качестве красивой ссылке для привличения из вне
nikitka 12 лет назад #
moHAX 12 лет назад #
vitalson9 12 лет назад #
DrCluster 12 лет назад #
Для этого, вместо предложенного кода, в файле cms.php вставляем этот:
if (intval($component)>0){
$this->uri='users/'.$this->uri;
return 'users';
exit;
}
//DrCluster: ссылки теперь работают и при обычном просмотре юзеров, и при рейтинговом
$vzryv = explode(".",$component);
$useractions='wall-add,wall-delete,karma,city,hobby,search.html,awardslist.html,delaward,restoreprofile,delmsg,files,invites,online,all,login,logout,positive.html,rating.html';
if (strstr($useractions,$component)!==false || preg_match("|latest([0-9]+)|",$vzryv[0])!==0 || preg_match("|positive([0-9]+)|",$vzryv[0])!==0 || preg_match("|rating([0-9]+)|",$vzryv[0])!==0){
$this->uri='users/'.$this->uri;
return 'users';
exit;
}
$inDB = cmsDatabase::getInstance();
$q="SELECT id from cms_users WHERE login like '".mysql_real_escape_string($component)."'";
$result = $inDB->query($q) ;
if (($result)&&($inDB->num_rows($result))){
$this->uri='users/'.$this->uri;
return 'users';
}
else{
//если компонент не существует, считаем что это content
$this->uri = 'content/'.$this->uri;
$this->is_content = true;
return 'content';
}
iLoveNY 12 лет назад #
letsgo 12 лет назад #
iLoveNY 12 лет назад #
DrCluster 12 лет назад #
fgvyguyu 12 лет назад #