Комментарии

Файлы компоновки категорий
( 6 Голосов )

Для воспроизведения списка категорий используются два файла компоновки. В качестве точки входа служит файл views/category/tmpl/default.php. Ниже приведен исходный код из этого файла компоновки.


// прямой доступ отсутствует
defined('_JEXEC') or die;

JHtml::addlncludePath(JPATH_COMPONENT./helpers'); ?> 
params->def('show_page_heading', 1)) : ?>

 escape($this->params->get('page_heading')); ?>

params->get('show_category_title', 1)) : ?>

 category->title); ?>

params->get('show_description', 1) || ^$this->params->def('show_description_image', 1)) : ?>
params->get('show_description_image') && $this->category->getParams()->get('image')) : ?> // прямой доступ отсутствует defined('_JEXEC') or die;
// Код для поддержки ссылок на редактирование подписок. // создать краткую форму для описания параметров JHtml::addlncludePath(JPATH_COMPONENT.'/helpers/html'); JHtml::_('behavior.tooltip'); JHtml::core();
// получить объект пользователя $user = JFactory:rgetUser();
// проверить, разрешено ли пользователю вводить или редактировать подписки $canEdit = $user->authorise('core.edit', 'com_joomprosubs.category.' . $this->category->id); $listOrder = $this->escape($this->state->get('list.ordering')); $listDirn = $this->escape($this->state->get('list.direction')); $listFilter = $this->state->get('list.filter'); ?> items)) : ?>

/>
pagination->getLimitBox(); ?>

Сначала выполняются все служебные операции, необходимые для загрузки вспомогательных файлов, а также двух видов поведения по сценариям JavaScript: всплывающих подсказок и основного поведения. Затем проверяется, разрешено ли пользователю редактировать данную категорию. Если разрешено, то категория появится в виде ссылки на подписку. В противном случае она будет показана в обычном текстовом виде.

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

Затем создается элемент разметки формы. В качестве действия указывается переход по URL обратно на ту же самую страницу. Форма требуется для сортировки по столбцу и фильтрации по введенным пользователям критериям. Для этого воспроизводится поле ввода текста фильтра и раскрывающийся список ограничений на отображение.

Далее следует приведенный ниже фрагмент кода.

В этом фрагменте кода воспроизводятся заголовки сортируемых столбцов. Следующий фрагмент кода приведен ниже.

items as $i => $item) : ?> 
title;   ?> title;?> params->get('show_description')) : ?> description);?> group_title; ?> duration; ?>

В этом фрагменте кода организуется циклическое обращение к элементам массива и воспроизведение каждой строки таблицы, в том числе заголовка, описания, если соответствующий параметр установлен на отображение описания, а также названия подписки и срока ее действия.

И последний фрагмент кода из рассматриваемого здесь файла компоновки приведен ниже.

<р> pagination->getPagesCounter(); ?> 

pagination->getPagesLinks(); ?>

В этом фрагменте кода воспроизводятся элементы управления разбиением на страницы, закрывается форма и завершается кодовый блок условного оператора if-else.


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости