Удалить составную часть из sef url, пункт меню не полностью
Я построил пользовательский компонент для Joomla 2.5. Теперь я хотел реализовать sef urls. Итак, я начал создавать router.php
файл. Я был почти успешным. Единственное, что я хочу изменить - это удалить ссылку на имя компонента. Вот что я получил:
http://host.tld/component/componentname/
Если я создаю пункт меню с псевдонимом, sef url выглядит следующим образом:
Это фактическая схема, которую я хочу иметь, но она отображается только тогда, когда я щелкаю пункт меню из меню. Если я на домашнем сайте, это не работает.
1 ответ
Решил проблему сам:
В случае, если у вас есть только один пункт меню для вашего компонента (иначе вы должны выбрать правильный), вам просто нужно добавить эти строки в ваш код:
$app = JFactory::getApplication();
$menu = $app->getMenu();
$items = $menu->getItems('component', 'com_games');
if (!isset($query['Itemid']))
$query['Itemid'] = $items->id;
Теперь Joomla использует псевдоним пункта меню для генерации URL-адресов.