Joomla 2.5 / Делаем ЧПУ по своему / УБрать Цифры из урл, или убрать альяс из урл

В инете есть статейка как убрать цифры из альяса
-------------------------------------------------------------------------------------------------------------------
Редактируем файл Router.php находящийся в ваш_сайт/components/com_content/
Нажимаем CTRL+F (запускаем поиск) и ищем
     $params->get('sef_advanced_link',
должно найти 2 результата, первая примерно на 27й строке в функции function ContentBuildRoute(&$query) и вторая на 208й строке в функции function ContentParseRoute($segments). Если не находит, поищите по функциям или по номеру строк. И в найденных строках
    $advanced = $params->get('sef_advanced_link', 0);
меняем 0 на 1 в обоих строках.
Удаляем ID из адресной строки с помощью хака
Удаляем ID из адресной строки с помощью хака
Чуть ниже где то на 228й строке находим if (strpos($segments[0], ':') === false) { (можете через поиск)
     if (strpos($segments[0], ':') === false) {
          $vars['view'] = 'article';
          $vars['id'] = (int)$segments[0];
          return $vars;
     }
и комментируем все пять строк подряд начиная с /* и заканчивая */
Удаляем цифры из адреса с помощью хака
У меня работает и без комментирования. Все сделано и ваш сайт будет без ID в адресной строке, вот только недостаток в этом методе, что при обновлении версий, может потереться эти изменения. Но это тоже решаемо, про это расскажу в следующих статьях, а пока можете при обновлении смотреть, изменился ли данный параметр или нет и при необходимости повторить все заново. Также если вы меняете адреса, не забывайте прописывать переадресацию, чтобы ваши страницы не вылетели из индекса.

На вопрос как удалить числовой идентификатор из адреса сайта мы ответили с вами.


-------------------------------------------------------------------------------------------------------------------


Но бывает нужно сделать другую задачу, например для порталов, где новости желательно выводить и ID
И так
решение просто
строка 139
list($tmp, $id) = explode(':', $query['id'], 2);
меняем на
 list( $id,$tmp) = explode(':', $query['id'], 2);              

Далее в настроках отображения материалов включить Адвансед моде.
или тупо поменять
$advanced    = $params->get('sef_advanced_link', 0);
на
$advanced    = $params->get('sef_advanced_link', 1);

И вуаля. получаем ссылки типа
site.ru/news/123

Комментарии

Популярные сообщения из этого блога

LOGOUT JOOMLA

Разработка Плагинов под Джумлу - События

Виртуемарт 2.0.26 - ONE PAGE CHECKOUT