Joomla SEF показывает разные ссылки на домашней странице, чем внутренние страницы! - PullRequest
1 голос
/ 01 апреля 2010

Я включаю Joomla SEF и получаю следующие результаты, когда я делаю ссылку на статью на главной странице статьи:

anywebsite.com / Компонент / содержание / статьи / 26/141 Z1-Z2-Z3-Z4

но при ссылках из других статей я получаю желаемый результат:

anywebsite.com / Categor / 141-Z1-Z2-Z3-Z4

и ссылка равна:

? * +1010 * index.php вариант = com_content & вид = статьи & ID = 141: Z1-Z2-Z3-Z4 & CatID = 26 есть идеи?!

Редактировать: Является ли связывание вручную с этой ссылкой SEF хорошей идеей, вместо того, чтобы ждать, пока joomla преобразует ее? по крайней мере в крайнем случае?

Ответы [ 2 ]

1 голос
/ 02 апреля 2010

Первый URL SEF является форматом Joomla SEF по умолчанию, когда с содержимым не связаны никакие Itemid (или элементы меню). То, что вы используете для «ссылки на статью из hompage», не предоставляет Itemid, который необходим Joomla для создания URL-адреса / Category / 141 ....

Я бы предложил, чтобы, если вы хотите получить полный контроль, использовать другой компонент управления SEF, такой как AceSEF или sh404SEF, который, как правило, обеспечивает больший контроль для управления URL.

0 голосов
/ 19 августа 2011

Если вы хотите удалить часть контроллера, вы можете просто получить элемент меню по умолчанию и вставить его идентификатор в запрос от вашего маршрутизатора.

В вашем роутере:

if (!isset($query['Itemid']) {
    $app =& JFactory::getApplication();
    $menu =& $app->getMenu();
    $item =& $menu->getActive();

    // Do a check to see if $item is set to something. If no active item, get the default:

    if (!$item) $item =& $menu->getDefault();

    $query['Itemid'] = $item->id;
}
...