Форум русской поддержки Joomla!® CMS
08.12.2016, 13:55:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Формирование ЧПУ для своего модуля

 (Прочитано 161 раз)
0 Пользователей и 1 Гость смотрят эту тему.
john.deff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 112



« : 09.06.2016, 17:01:06 »

Доброго дня!

данная ветка похожа на http://joomlaforum.ru/index.php/topic,327754.0.html
однако есть отличия!
предположим, что у нас есть компонент, и если мы отображаем модули во фронтальной части компонента, то ссылки формируются по примерам ссылки выше.
а вот если мы хотим модуль отобразить во фронтальной части сайта например в стандартном содержимом Joomla,
то ссылки формируются некорректно!
кострукции типа:
Код
# Формируем Patway
$pathway = JFactory::getApplication()->getPathway();
$pathway->addItem('com_mycomp', 'index.php?option=com_mycomp&view=home&Itemid=106');
 
в теле модуля ни к чему не приводят, ссылка формируется по-умолчанию и не верно!
отмечу, что в папке шаблона HTML у меня лежит mod_breadcrumbs/default.php для стилевого оформления pathway,
мне кажется он и перехватывает формирование ЧПУ! но как его обойти?
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6458



« Ответ #1 : 09.06.2016, 17:07:07 »

махонький нюанс: чпу-сылки формируются в роутере, которого у модулей нет и быть не может: этой функцией в J обладают только компоненты, о том, как писать свой роутер для своего компонента, здесь: http://inet-reklama.com/blog/joomla/routing-v-joomla-jroute.html (в J2.5 и в J3 роутер устроен одинаково)
Записан
john.deff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 112



« Ответ #2 : 09.06.2016, 17:40:20 »

махонький нюанс: чпу-сылки формируются в роутере, которого у модулей нет и быть не может: этой функцией в J обладают только компоненты, о том, как писать свой роутер для своего компонента, здесь: http://inet-reklama.com/blog/joomla/routing-v-joomla-jroute.html (в J2.5 и в J3 роутер устроен одинаково)

а у меня написан мой роутер для компонта, понять не могу только как его использовать в модуле но без перехода в сам компонент,
хотя конечно я сделал костыли))
уже сформированную ЧПУ ссылку просто подставляю и меняю у неё алиасы, но ведь это не правильно!
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #3 : 09.06.2016, 18:00:17 »

Цитировать
а у меня написан мой роутер для компонта, понять не могу только как его использовать в модуле но без перехода в сам компонент

Не понимаю в чем разница. Если ссылка формируется через JRoute и там указан компонент или пункт меню, то она будет обработана роутером компонента в любом случае, где бы вы не вызывали сам метод.

И какое вообще отношение хлебные крошки имеют к роутингу? Две разные функции совершенно. Может вам стоит что то вроде того сделать:
Код
$pathway->addItem('com_mycomp', JRoute('index.php?option=com_mycomp&view=home&Itemid=106'));
« Последнее редактирование: 09.06.2016, 18:15:32 от zomby6888 » Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #4 : 09.06.2016, 19:41:07 »

а у меня написан мой роутер для компонта, понять не могу только как его использовать в модуле но без перехода в сам компонент,
хотя конечно я сделал костыли))
уже сформированную ЧПУ ссылку просто подставляю и меняю у неё алиасы, но ведь это неправильно!
Добавить Itemid в путь itemid это пункт меню на который завязан вид вашего компонента!
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet