joomla: убрать id контента

Убираем ID из статей Joomla > 3.4.x

Самый простой вариант - установить расширение SEF Wizard


shell-скрипт:

---cut---

# joomla-remove-content-id (c) Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

export work_file="./components/com_content/router.php"

sed -i "s|get('sef_advanced_link', 0);|get('sef_advanced_link', 1);|g" ${work_file}

---cut---



Для версий < 3.4.5:
 

Редактируем /components/com_content/router.php

 

Ищем строки в функциях ContentBuildRoute(&$query) и ContentParseRoute($segments):

$advanced = $params->get('sef_advanced_link', 0);

меняем на:

$advanced = $params->get('sef_advanced_link', 1);

 

Далее, ищем строку:

->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));

меняем на:

->where($db->quoteName('alias') . ' = ' . $db->quote($segment));

 

Ищем:

if (strpos($segments[0], ':') === false)

меняем на:

if (strpos($segments[0], ':') === true)

 

***
https://joomla-extensions.kubik-rubik.de/forum/cms-joomla/8023-joomla-artikel-ohne-ids-in-der-url
http://forum.joomla.org/viewtopic.php?f=712&t=826165