Формирование ссылок в расширениях для joomla

Вторник, 18 Октябрь 2011

 

При создании расширений для joomla - модулей, плагинов, и компонентов, может понадобится формирование ссылки на материал компонента com_content, на его раздел или категорию. Реализуется это с помощю импорта файла route.php, компонента com_content в код вашего расширения, и использование методов класса ContentHelperRoute из подключенного файла.

 

Итак, сначала подключаем route.php в код вашего модуля или плагина (при соблюдении стандарта MVC это helper.php вашего модуля):

 

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

 

Далее если необходимо сформировать ссылку на материал, то используем метод getArticleRoute класса ContentHelperRoute, этот метод принимает три обязательных параметра для формирования ссылки на материал: $row->slug - соответствует ID материала, $row->catslug - соответствует ID категории материала, $row->sectionid - соответствует ID раздела материала. Выглядит это следующим образом:

 

 
<?php
$href = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
?>
 

 

Если нужно сформировать ссылку на категорию материала, используется метод getCategoryRoute, который принимает один обязательный параметр - ID категории, ссылку на которую нужно сформировать. Выглядит это так:

 

 
<?php
$href = JRoute::_(ContentHelperRoute::getCategoryRoute($catid));
?>
 
/p>

 

В случае если потребуется ссылка на раздел com_content, используется метод getSectionRoute который также как и метод getCategoryRoute, принимает единственный обязательный параметр, только уже ID раздела, на который требуется получить ссылку. Формируется следующим образом:

 

 
<?php
$rows[$i]->href = JRoute::_(ContentHelperRoute::getSectionRoute($rows[$i]->secid)); 
?>
 

 

В листинге $rows[$i] - это элемент массива данных из запроса к таблице jos_content, как сформировать SQL запрос и получить данные, читайте в статье Создание MVC модуля для Joomla 1.5!

 

PS. Читайте последние записи RSS Подписка на RSS

 

Метки:

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