Ну вы ответ дадите куда я должен попасть если перейду на страницу мой-сайт.ру/москва что я должен увидеть? или вы сами не знаете для чего вам это?
если там нет привязки ни пунктов меню ни материалов ни компонентов то что я должен увидеть? белый экран чтоли?
Чего Вы так переживаете то, сейчас все расскажу.
мой-сайт.ру/москва - ведет на главную страницу с контентом региона москва. мой-сайт.ру/ - ведет на главную страницу с контентом default. Это же очевидно, страницы с разным контентом должны иметь разные URL. Но мне нет никакого желания создавать каждому из 98 регионов россии пункт меню. Так ладно только главная страница, ладно, эти цветочки можно опустить, но дальше то что? новости, контакты, их тоже плодить? очень оптимизированный вариант. А как понадобится позже на других проектах, так само собой это ж фигня сделать заново, 98 регионов - пффф... легко! Да и чего там в сопровождении, намного ведь сложнее зайти в нужный материал и указать нужный регион, чем искать в бесконечном списке пунктов меню изменяемый, потом убирать этот материал, заходить в нужный пункт меню и ставить там нужный материал. Это же проще, 10 действий вместо 1.
Не знаю что Вы за разработчик, но будьте добры НЕ ЕБИТЕ МНЕ ГОЛОВУ С ДУРНЫМИ СОВЕТАМИ! Вопрос задавался по классу JRoute, а не по тому, как мне покривее реализовать региональность.
Очень благодарен за
slug это $item->id .':'. $item->alias
если вы в модуле имя компонента вам придется указать(если в данный момент не открыт компонент ссылка на который ссылается модуль)! либо Itemid указать (Itemid это идентификатор пункта меню для этого компонента и вида)
тоесть из модуля вам придется написать: JRoute::_('index.php?option=com_mycomponent&view=article&ud=' . $item->id .':' . $item->alias);
и будет норм ссылка только если вы будете в этом компоненте! если же у вас свой компонент а вы в материале то в модуле ссылка выведется как:
mysite.ru/component/mycomponent/article/1-test
и если захотите что бы была ссылка включала псевдоним пункта меню то придется добавить Itemid JRoute::_('index.php?option=com_mycomponent&view=article&ud=' . $item->id .':' . $item->alias . '&Itemid=104');
тогда ссылка станет: mysite.ru/псевдоним_пункта_меню/article/1-test
если же вы в своем компоненте вам в ссылке не надо указывать option он будет понимать что вы в своем компоненте! и не надо указывать Itemid!
тоесть достаточно написать? JRoute::_('index.php?view=article&ud=' . $item->id .':' . $item->alias );
и получите ссылку: mysite.ru/псевдоним_пункта_меню/article/1-test
кое что пояснило, но на этом Ваша помощь закончилась. Еще раз спасибо за этот пост.