Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 95 Ответов
  • 14633 Просмотров
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
JRoute в модуле Joomla 2.5
« : 22.09.2012, 13:00:23 »
Добрый день!
Имею самописный компонент каталог. Понадобилось написать модуль который выводит материалы которые помечены как избранные на главной, но суть вопроса не в этом.

Проблема с красивыми ссылками (((
Использовал для построения урл в модуле вот эту доку:
http://joomla-book.ru/development/classes/jroute-creating-sef-links-routing-component

Увы много непонятного.
Что за параметры $row->slug?
Из документации:
Цитировать
$row->slug это значение, полученное сочетанием id и псевдонима во втором шаге.

Откуда его брать?

Что такое route.php и для чего он нужен я понял, но убей не понятно почему теперь не надо указывать имя компонента,
типа JRoute::_('index.php?ption=com_component&view=article&id=123); как раньше?

В доке это выглядит как:
Цитировать
JRoute::_('index.php?view=article&id='.$row->slug);

Как мы узнаем к какому компоненту обращаться чтобы вывести материал?

Вопрос может из дедсада, но реально никогда не пользовался в Joomla 2.5 красивыми ссылками, а тут понадобилось сформировать.
Спасибо!
« Последнее редактирование: 02.11.2012, 14:04:33 от smart »
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #1 : 25.09.2012, 21:04:51 »
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
Спасибо большое, стало понятно. А где должен находиться мой router.php и как его подключать и где?
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #2 : 26.09.2012, 09:03:57 »
Роутер должен быть в компоненте!
Joomla сама его подключит
Спасибо большое!
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #3 : 04.10.2012, 17:00:42 »
Всё замечательно - написал роутер ИТП - всё как бы работает. Но есть одна проблема. не работает пагинация при включенным SEF. Точнее показывает результат выборки из модуля и кнопочки пагинации, но если нажать на страничку 2 то ничего не выведется. Если выключить SEF, то всё сразу нормально заработает.
Чтобы было понятно вот тестовый ресурс с этим делом: http://rosprostor.16mb.com. В чём может быть проблема?
Спасибо!
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #4 : 09.10.2012, 21:23:05 »
UP помогите плз ((((. Не могу понять куда рыть почему не работает пагинация при включенном SEF? Куда хоть рыть ткните кто может!
Спасибо!
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #5 : 26.10.2012, 15:21:19 »
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
А если я наоборот, хочу чтобы псевдоним пункта меню вообще не отображался, но я нахожусь в своем компоненте, что сделать нужно?
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #6 : 29.10.2012, 09:39:49 »
А если я наоборот, хочу чтобы псевдоним пункта меню вообще не отображался, но я нахожусь в своем компоненте, что сделать нужно?
Я так понимаю просто его не указывать. Роутер сам поймёт в каком пункте меню Вы находитесь. Ну если я прально понял.
« Последнее редактирование: 29.10.2012, 10:01:09 от n_drey »
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #7 : 29.10.2012, 09:42:33 »
У меня другая проблема.
Как мне из строки адреса убрать имя вьюшки компонента. Не могу настроить роутер.
Ссылка выглядит вот так:
http://rosprostor.16mb.com/uchastki/myshop/1.html

Вот как мне убрать название вьюшки 'myshop' ?
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #8 : 29.10.2012, 10:25:47 »
Я так понимаю просто его не указывать. Роутер сам поймёт в каком пункте меню Вы находитесь. Ну если я прально понял.
Так в том то и дело, я хочу ссылку вида: http://mysite.com/region/category/one_item , а не вида: http://mysite.com/пункт_меню/region/category/one_item
Или м.б. это все таки проблемы mod_menu? Ведь это он формирует ссылку вида http://mysite.com/пункт_меню/region/category/one_item
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Jroute в модуле Joomla 2.5
« Ответ #9 : 29.10.2012, 11:21:39 »
Или м.б. это все таки проблемы mod_menu? Ведь это он формирует ссылку вида http://mysite.com/пункт_меню/region/category/one_item
Нет, так работает Joomla. пункт_меню - это ссылка либо на сам компонент, либо на представление. В вашем случае для избежания этого необходимо создавать ссылку на region, тогда пункт_меню и будет region.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #10 : 29.10.2012, 11:31:40 »
Нет, так работает Joomla. пункт_меню - это ссылка либо на сам компонент, либо на представление. В вашем случае для избежания этого необходимо создавать ссылку на region, тогда пункт_меню и будет region.
Т.е. Если я хочу переформировать ссылки по-своему, то Joomla пошлем меня подальше и по-любому будет втюхивать мне http://мой_сайт/пункт_меню?
Т.е. кроме как ссылки вида http://мой_сайт/пункт_меню/все_остальное_что_я_захочу и http://мой_сайт/component/название_моего_компонента/все_остальное_что_я_захочу я не смогу сформировать?
Я хочу сделать региональность для сайта. И мне нужно сделать разные страницы для регионов, ведь наполнение у них будет различное. И естественно хочу вставлять регион сразу после http://мой_сайт/, например, чтобы главная страница, выглядела http://мой_сайт/москва для москвы.
М.б. подскажете направление, куда копать?
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #11 : 30.10.2012, 10:53:14 »
А чем  http://мой_сайт/москва отличается от http://мой_сайт/пункт_меню ?!
Разве не очевидно? пункт_меню  - то что ставит Joomla самостоятельно. москва - это то, что я хочу там видеть.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #12 : 30.10.2012, 16:35:09 »
нет не очевидно! если я создам пункт меню с псевдонимом "москва" то чем это будет отличатся от http://мой_сайт/москва  (пример http://ссылка вырезана, так как домен распространяет вирусы/москва чем это отличается от того что вы сказали?!
Нужна ссылка вида http://мой_сайт/москва/пункт_меню, а не http://мой_сайт/пункт_меню/москва
т.е. москва - это не материал, не контакт и вообще не принадлежит никакому компоненту. Считайте это как /en/ в мультиязычности. Просто какое-то системное обозначение.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #13 : 30.10.2012, 17:26:54 »
омг как будто говорю со стенкой..
http://мой_сайт/москва/москва
http://мой_сайт/москва/москва/ещё-какая-то-хрень
в чем проблема? не можете для http://мой_сайт/пункт_меню/ привязать другой шаблон с другими модулями ? и настроить вывод всего этого?!
ууу... кажется мы говорим на разных языках. Вы предлагаете сделать костыль через заднее отверстие, вместо нормальной адекватной разработки, насколько я понял, плагина.
Так вот, уважаемый, ответ предлагаю Вашему вниманию на поставленный вопрос, а точнее место, где находится ответ - плагин Фильтр языка(languagefilter). Это штука не просто делает мультиязычным сайт. Он[плагин] так же для различных языков создает свои пути. Например: http://мой_сайт/en/новости/одна_новость, http://мой_сайт/fr/новости/одна_новость. По сути меняется только контент, но ведь это и нужно.
frisian если Ваш интеллект позволяет разговаривать со стенками, то пожалуйста, посмотрите на languagefilter - его делали не с помощью костылей типа создание миллионов пунктов меню/модулей/материалов. И потише с выражениями, все мы умеем "огрызаться", как никак живем на территории бывшего СССР.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #14 : 30.10.2012, 17:53:50 »
извините а вы смотрели как работает плагин language filter ?
он тупо передает в строке запроса переменную lang в которой обозначен язык!
дальше Joomla отображает те материалы, модули и компоненты которые ручками настроены для вывода в этом языке! там по выше есть книга для чайников по Joomla начните с неё! с вами говорить нет смысла вы ничего не понимаете в веб разработке и хотите что бы вместо вас выполнилась магия!
и да извините объясните мне такому умному с каких пор штатные возможности Joomla (смена шаблона для определенного пункта меню, вывод модулей в зависимости от пунктов меню) называется костылем сделаным через задницу?

Точно, я ничего не понимаю в веб-разработке и во всем виновата магия :)
Вы меня забавляете, молодой человек. Пойду, пожалуй лучше ещё разок прочитаю про убийцу деструктора в немудреной книге, чем с Вами, очень умным, спорить.
И организация региональности "штатными средствами" - это конечно же верх профессионализма, ведь плагин добавляющий переменную региона в сто раз хуже работает. Хотя, о чем это я.
Вы мне не помогли, благодарю за уделенное время. Всего доброго.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #15 : 30.10.2012, 18:06:09 »
я бы с удовольствием хотел быть молодым человеком.. хотя бы столько болячек небыло
Ну добавите вы плагин который будет добавлять переменную региона и что дальше?
в Joomla уже во всех местах определена работа с переменной для языка! (если зайдете в любое расширение то нечаянно увидите поле ЯЗЫК)!
И будете писать для каждого компонента, модуля, плагина затычку которая будет обрабатывать вашу переменную региона в админке, и будете писать затычку которая будет обрабатывать все это в пользовательской части? и вы ещё говорите про костыль через жопу?
С каких пор плагин стал затычкой? Если мне не изменяет память - плагин это расширение стандартных возможностей, а не затычка.
Делайте дальше свои клевые сайты без "затычек", а я пожалуй разработаю разок плагин-затычку и забуду про это недоразумение.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #16 : 31.10.2012, 10:08:53 »
Ну вы ответ дадите куда я должен попасть если перейду на страницу мой-сайт.ру/москва что я должен увидеть? или вы сами не знаете для чего вам это?
если там нет привязки ни пунктов меню ни материалов ни компонентов то что я должен увидеть? белый экран чтоли?
Чего Вы так переживаете то, сейчас все расскажу.
мой-сайт.ру/москва - ведет на главную страницу с контентом региона москва. мой-сайт.ру/ - ведет на главную страницу с контентом 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
кое что пояснило, но на этом Ваша помощь закончилась. Еще раз спасибо за этот пост.
« Последнее редактирование: 31.10.2012, 10:22:36 от xchesh »
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #17 : 31.10.2012, 11:45:58 »
ну если 98 регион то тогда лучше писать плагин!
только говорю сразу:
1. придется писать плагин который вставит в url рерион
2. Придется писать обработку переменной региона до JRoute (потому что JRoute обеспечивает роутинг для компонентов который основан на пунте меню, а если не основан то будет ссылка вида component/co_content/...)
3. Придется для компонентов писать плагин который будет добавлять поле выбора региона в админке
4. Придется для модулей писать плагин который будет добавлять поле выбора региона в админке
5. Придется для каждого вывода в пользовательской части писать плагин для отделения контента в зависимости от выбранного региона
6. Допиливать запросы в каждом стандартном компоненте (потому что с помощью плагина вы не сможете указать в запросе для вывода списка материалов регион!), а в шаблоне не получится исключить выбранные! возникнет проблема с пагинацией!

и так у вас выбор:
1. Делаете свой движек!
2. Ищите движек с поддержкой региональности
3. Жестко допиливаете движек делая через задницу кучу костылей и забыв про возможные будущие обновления (потому что все костыли умрут)
4. Пишите свой компонент с поддержкой регионов для вывода всего что вам надо на сайте
5. делаете как я сказал (предварительно сделав компонент/плагин который при создании региона, будет создавать автоматом пункт меню в админке, и менять какие то параметры модулей и т.д.)
..ну тут ещё может куча вариантов которые может форумчане подскажут...

Что делать ваша проблема! помогать вам и указывать что где пилить такому как мне: "Не знаю что Вы за разработчик" человеку у которого ЧСВ просто зашкаливает! Я вообще не понимаю что вы тут делаете! все же тупые, а вы один умный ! мы же должны к вам на поклон бегать за советом! Вы ничего не попутали?

Ну так мы же не ищем легких путей!) И всегда лучше спросить, м.б. кто-нибудь реализовывал такое. Странно, что никто не задумывался о региональности ранее.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #18 : 31.10.2012, 13:57:16 »
я сделал за все время больше 100 сайтов.. ни в одном небыло региональности... за 10 лет что у меня есть интернет не помню что бы я видел сайт с региональностью(может просто не обращал внимания)
Ну ясно, за два года в веб я видел достаточно много региональных сайтов. Некоторые реализованы на поддоменах, некоторые как я собираюсь делать.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #19 : 31.10.2012, 14:38:20 »
не обязательно на поддоменах! можно настроить так что будет по москва.мой-сайт.ру открываться мой-сайт.ру/москва !
Но 98 регионов делать на поддоменах это будет просто супер ))
Так в том то и дело, что на поддоменах делать - это просто убийство.
Конечно можно, поставил редирект и кури)))
*

n_drey

  • Захожу иногда
  • 156
  • 3 / 1
  • Давай телевиденье!
Re: Jroute в модуле Joomla 2.5
« Ответ #20 : 01.11.2012, 08:39:19 »
Блин не могу понять что мне делать битва продолжается уже 3 день (((
опишу ещё раз - имеем ссылку:

Без включённого SEF - http://rosprostor.16mb.com/index.php?view=myshop&id=2&Itemid=102&option=com_myshop

C включённым SEF - http://rosprostor.16mb.com/uchastki/myshop/2.html

как мне изменить или вообще убрать этот `myshop` (это имя вьюшки) ((((( Не хочу чтобы оно было вообще у меня ((

вот мой router.php


Код
function MyshopBuildRoute(&$query) {

$segments = array();

if (isset($query['view'])) {
        $segments[] = $query['view'];
        unset($query['view']);
    }
if(isset($query['catid']))
    {
        $segments[] = $query['catid'];
        unset($query['catid']);
    }

    if(isset($query['id']))
    {
        $segments[] = $query['id'];
        unset($query['id']);
    }
  

 
    return $segments;
}
 
function MyshopParseRoute($segments) {
    $vars = array();

print_r($segments);
   switch($segments[0])
    {
        case 'myshop':
            $vars['view'] = 'myshop';
            $vars['id'] = $segments[1];
            break;
        case 'myshops':
            $vars['view'] = 'myshops';
          
            break;
    }

return $vars;
}

Почему вьюшка отображается в ссылке? Где её нужно убирать ((( Помогите кто может.
Спасибо.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #21 : 01.11.2012, 11:03:30 »
Блин не могу понять что мне делать битва продолжается уже 3 день (((
опишу ещё раз - имеем ссылку:

Без включённого SEF - http://rosprostor.16mb.com/index.php?view=myshop&id=2&Itemid=102&option=com_myshop

C включённым SEF - http://rosprostor.16mb.com/uchastki/myshop/2.html

как мне изменить или вообще убрать этот `myshop` (это имя вьюшки) ((((( Не хочу чтобы оно было вообще у меня ((

вот мой router.php


Код
function MyshopBuildRoute(&$query) {

$segments = array();

if (isset($query['view'])) {
        $segments[] = $query['view'];
        unset($query['view']);
    }
if(isset($query['catid']))
    {
        $segments[] = $query['catid'];
        unset($query['catid']);
    }

    if(isset($query['id']))
    {
        $segments[] = $query['id'];
        unset($query['id']);
    }
 

 
    return $segments;
}
 
function MyshopParseRoute($segments) {
    $vars = array();

print_r($segments);
    switch($segments[0])
    {
        case 'myshop':
            $vars['view'] = 'myshop';
            $vars['id'] = $segments[1];
            break;
        case 'myshops':
            $vars['view'] = 'myshops';
           
            break;
    }

return $vars;
}

Почему вьюшка отображается в ссылке? Где её нужно убирать ((( Помогите кто может.
Спасибо.


Просто не добавляй его в массив $segments. Убери вот этот кусок кода и будет тебе счастье)
Код
if (isset($query['view'])) {
        $segments[] = $query['view'];
        unset($query['view']);
    }
Оставь только  unset($query['view']);
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #22 : 01.11.2012, 12:21:41 »
как Joomla определит текущий вид?
Точно. Прямо сейчас с этой проблемой и столкнулся, если видов несколько, то обязательно нужно указывать текущий.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #23 : 01.11.2012, 12:25:36 »
Но если вид один и есть Itemid, то от view можно избавится просто сделав его unset. Правда если меняешь вид, то нужно его явно указать.
*

MetaSpirit

  • Завсегдатай
  • 1370
  • 106 / 0
  • R.A.S.Lab[.org]
Re: Jroute в модуле Joomla 2.5
« Ответ #24 : 01.11.2012, 12:55:32 »
По меньшей мере могу сказать как сделать роутинг вида
category/
category/id
category/item/id
без Itemid

(такой роутинг реализован тут: http://ссылка вырезана, так как домен распространяет вирусы/blog/)
И как?
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #25 : 01.11.2012, 13:05:27 »
По меньшей мере могу сказать как сделать роутинг вида
category/
category/id
category/item/id
без Itemid

(такой роутинг реализован тут: http://ссылка вырезана, так как домен распространяет вирусы/blog/)

Да, да, давай, покажи пожалуйста. М.б. что-то полезное почерпнем)
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #26 : 01.11.2012, 14:43:28 »
Ммм... Я тут нашел один интересный момент. Если находишься не в своем компоненте и хочешь избавится от ненужного /component/component_name/ можно использовать прикольный трюк.
Код
$query['Itemid'] = '101';
Это как бы объявляет активный пункт меню главной страницей. Но это условно можно использовать. Т.к. есть куча ограничений. К примеру если пункт меню будет присвоен для твоего компонента, то лучше использовать его Itemid. Этот момент полезен только в том случае, если нет меню для компонента и находишься не внутри него[своего компонента].
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #27 : 01.11.2012, 15:08:44 »
а если человек удалил пункт меню первый? и создал новый? и пункта меню с Itemid=101 нет?)
ну на то оно и условное :) что можно использовать, а можно и нет. Хотя главная страница обязана присутствовать. Если на то пошло, то можно узнать какая главная(home==1) и использовать её.
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #28 : 01.11.2012, 15:12:48 »
Кстати, я по твоему build задам вопрос. А если захочу более вложеннную структуру? т.е. категория-подкатегория-итем? Как тогда?
*

xchesh

  • Захожу иногда
  • 277
  • 10 / 1
Re: Jroute в модуле Joomla 2.5
« Ответ #29 : 01.11.2012, 16:13:52 »
ну по аналогии.. определяйте сколько в массиве элементов и в зависимости от них стройте ссылку!
эм... как? если item будет лежать в подкатегории, а ссылку на него нужно получить из категории?
Ну например: JRoute::_('index.php?view=item&catid=3:subtest&id=1:item'); (ссылка должна быть вида blog/1-test/3-subtest/1-item)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 0
Просмотров: 13973
Последний ответ 14.09.2023, 22:16:47
от mrporter
Joomla 2.5.28, Safari под маком и сессии session

Автор beliyadm

Ответов: 19
Просмотров: 16727
Последний ответ 29.03.2023, 12:17:19
от Sawell
Joomla 2.5.28 как скачать все файлы через панель управления

Автор Sergei41984

Ответов: 7
Просмотров: 14478
Последний ответ 27.12.2022, 23:30:38
от Sergei41984
Расширения для Joomla! 1.6 (коллекция полезных ссылок)

Автор Sulpher

Ответов: 124
Просмотров: 145167
Последний ответ 03.12.2022, 16:15:19
от besttechoff
Почему в админке Joomla 2.58 - у меня 16 админов показывает?

Автор dyalex

Ответов: 7
Просмотров: 15357
Последний ответ 27.10.2022, 19:03:45
от marksetter