Я пытаюсь удалить идентификатор статьи из URL Joomla 3. Я искал вокруг, и ответ находится в
components\com_content\router.php
изменить 0
на 1
в$advanced = $params->get('sef_advanced_link', 1);
по строкам 38 и 290
а также закомментировал
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}
Я считаю, что это хорошо работает в Joomla 2.5, так как все комментарии упоминают об этом.
Но это не делает работу для меня на моем сайте Joomla 3.3.
Как этого добиться, не создавая пунктов меню для каждой статьи?
joomla-3.x
php
url
кляп
источник
источник
Ответы:
Шаг 1
Отредактируйте «components / com_content / router.php», затем перейдите к шагу 2.
(Вероятно, вам придется повторять этот шаг каждый раз, когда вы обновляете Joomla.)
Шаг 2
(Есть два места, чтобы сделать это изменение, одно около вершины, одно посередине) Замените это:
$advanced = $params->get('sef_advanced_link', 0);
С этим:
$advanced = $params->get('sef_advanced_link', 1);
Шаг 3
замещать
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));
с
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));
и вы сделали.
источник
Для тех, кто не хочет зацикливаться на редактировании кода Joomla, отметим, что сторонние расширения SEF предоставляют возможность удалять идентификаторы из URL-адресов SEF.
Есть много расширений SEF, которые можно найти в JED :
Например, SH404SEF , является одним из самых популярных и используемых расширений Joomla, с длинной историей и расширенной поддержкой многих сторонних компонентов.
Что касается более простого решения, я недавно наткнулся на новый плагин, который предоставляет несколько функций, включая «Удаление идентификаторов из статьи, категорий и тегов URL SEF». Простое и удобное решение, которое работает.
* Примечание 1: оба расширения, упомянутые выше, являются платными.
* Примечание 2: есть еще один похожий вопрос в JSE .
источник
В дополнение к существующим ответам в Joomla 3.7.0 включен новый маршрутизатор, который, вероятно, решит эту проблему.
Joomla 3.7.0 должна быть выпущена в ближайшее время. Для подробностей смотрите:
https://www.joomla.org/announcements/release-news/5695-joomla-3-7-0-alpha-2-released.html
источник