2014-04-20 15 views
0

Я разработал компонент в Joomla! 3, и я использовал JRoute::_() & router.php, чтобы сделать URL-адреса поисковой системы. что-то вроде этого:Различные URL-адреса, созданные с помощью JRoute :: _() на разных страницах - Joomla! 3

/component/products/WIFI-IP-Phone/list-3

Так что я решил заменить /component/products с чистым псевдонимом, и я создал меню с чистым псевдонимом для компонента домашней страницы. Теперь, все у меня есть ссылка внутри компонент (генерируется с JRoute::_()), как это: /escene/WIFI-IP-Phone/list-3 и его совершенным, его точно, что я хочу, но ... Я использую JRoute::_() в три различных модулей, и я создайте связи с этим, проблема в том, что сгенерированные ссылки в этих модулях, когда я нахожусь на домашней странице или на любой другой странице, кроме страниц компонента, отличаются от сгенерированных ссылок в этом модуле, когда я нахожусь на страницах компонентов.

Когда я нахожусь в домашней странице или другой: /component/products/WIFI-IP-Phone/list-3

Когда я нахожусь в моих страницах компонентов: /escene/WIFI-IP-Phone/list-3

Любое тело может объяснить причину Или помочь мне сделать все URLs как /escene/WIFI-IP-Phone/list-3? ?

+0

для чего? –

+0

Эта часть всегда очень сложна в модулях, у меня нет времени, чтобы пройти ее с вами прямо сейчас, но посмотрите на последние статьи или похожие теги. Оба они рассмотрели этот вопрос. – Elin

+0

@ Элин, пожалуйста, дайте мне ссылку? –

ответ

1

Это потому, что функции, которые вы пишете в компонентах router.php, выполняются для ссылок, когда отображение страницы одного и того же компонента. Но есть способ выполнить эту задачу.

1. First create a new menu in the menu manager and create all links in this menu. 
2. Publish this menu but do not assign any position. 
3. In this way you would get a sef url for each link. 

if(JFactory::getConfig()->get('sef')) { 
    echo 'My sef url'; 
} else { 
    echo 'Dynamic url'; 
} 

Таким образом, Joomla сделает Ваш URL синтаксический, обнаруживая свой компонент с помощью псевдонима хранящимся. Дайте мне знать, если у вас есть дополнительные запросы.

Смежные вопросы