Блог старого компьютера

Блог старого компьютера


Главная Joomla Получить ссылку на материал, категорию, рубрику в joomla

Получить ссылку на материал, категорию, рубрику в joomla

29.01.2013 06:37 Администратор Joomla
Печать PDF

Чем больше пишешь чего то под движок joomla тем больше начинаешь понимаеть какую ерунду ты делал год, или пол года назад. А это все возникает от незнаний, но исключить все незнания просто невозможно, больше  делаешь - больше знаешь. Дак вот где то с пол года назад я писал компоненты, модули и для того чтоб сформировать правильную ссылку на материал я прибегал к изврщению. Я писал свою функцию которая по определенным условиям к примеру по id материала давала ссылку мне на него. С точки стороны движка joomla это не правильно так как там уже есть все нужные нам функции котороые и надо использовать. Вот об одно из этих функция мы сегодня и поговорим.

 И так для того чтоб работать с функциями для формирования ссылки нам необходимо для начала подгрузит файл в  котором сообственно и находятся нуждные нам функции (это route.php). Делать это будем так:

require_once(JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');

 Далее пройдемся по нужным на функция.

К примеру нам необходимо сформировать ссылку на материал. Для этого будем использовал метод getArticleRoute класса ContentHelperRoute. Данный метод принимает 3 параметра. И выглядит так

$href = JRoute::_(ContentHelperRoute::getArticleRoute($id, $id_cat, $id_sectionid));

 Думаю взглянув на него становится все понятно, ну, а если все же не понятно поясняю. Первый параметр $id это id материала, второй параметр $id_cat это id категории этого материала, а третий параметр $id_sectionid это id рубрики этого материала.

При использовании жанного метода у меня ссылка которая должна иметь вид /gostinicza/-shtory/1-komplekty/4-material-2.html  получилась такой /gostinicza/-shtory/1/4.html.

Выглядит по другому, но работает отлично, что в моем случае главное. Так сказать короткая ссылка на материал вышла.

Идем далее. Для того чтоб сформировать ссылку на категорию необходимо воспользоваться методом getCategoryRoute который принимает только один параметр. Этот параметр это id категории. Выглядит все это вот так:

$href = JRoute::_(ContentHelperRoute::getCategoryRoute($catid));

 С этим думаю все понятно идем далее. Для того чтоб получить ссылку на рубрику (что требуется довольнео редко) то необходимо воспользховаться методом getSectionRoute данный параметр работает по аналогии с предыдущим и принимает один обязательный параметр это id рубрики. Наглядно это выглядит так:

$href = JRoute::_(ContentHelperRoute::getSectionRoute($secid));

 Вот сообственно и все, теперь мы знаем как приавльно соформировать ссылку на материал com_content да и не только.

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела