Файлы компоновки категорий |
Для воспроизведения списка категорий используются два файла компоновки. В качестве точки входа служит файл views/category/tmpl/default.php. Ниже приведен исходный код из этого файла компоновки. <?php /** * package Joomla.Site * @ subpackage com_joomprosubs * @copyright Copyright (C) 2013. All rights preserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ И этот код похож на исходный код из соответствующего файла, предназначенного для компоновки списка категорий веб-ссылок или других элементов. Сначала в нем отображается описание категории и ее изображение, а затем вызывается метод loadTemplate () для загрузки файла исходной компоновки defaulti terns. php. Ниже приведена первая часть содержимого этого файла. <?php /* * @subpackage com_joomprosubs * @copyright Copyright (С) 2013. All frights reserved. * license GNU General Public License version 2 or later; see LICENSE.txt */ Сначала выполняются все служебные операции, необходимые для загрузки вспомогательных файлов, а также двух видов поведения по сценариям JavaScript: всплывающих подсказок и основного поведения. Затем проверяется, разрешено ли пользователю редактировать данную категорию. Если разрешено, то категория появится в виде ссылки на подписку. В противном случае она будет показана в обычном текстовом виде. Далее получается поле сортировки в заданном порядке и направлении, а затем текст фильтра, если таковой имеется. Напомним, что пользователь может сортировать список, щелкая кнопкой мыши на заголовках столбцов. После этого проверяется наличие каких-нибудь элементов подписки для обработки. Если таковые отсутствуют, выводится сообщение, уведомляющее об отсутствии подписок в данной категории. В противном случае компоновка элементов подписки продолжается. Затем создается элемент разметки формы. В качестве действия указывается переход по URL обратно на ту же самую страницу. Форма требуется для сортировки по столбцу и фильтрации по введенным пользователям критериям. Для этого воспроизводится поле ввода текста фильтра и раскрывающийся список ограничений на отображение. Далее следует приведенный ниже фрагмент кода. <table> <thead> <tr> <th><?php echo JHtml::_('grid.sort', 'COM_JOOMPROSUBS_GRID_TITLE', 'a.title', $listDirn, $listOrder); ?> </th> <th> <?php echo JHtml::_('grid.sort', 'COM_JOOMPROSUBS_GRID_GROUP', 'g.title', $listDirn, $listOrder); ?> </th> <th><?php echo JHtml::_('grid.sort *, 'COM_JOOMPROSUBS_GRID_DURATION', 'a.duration', $listDirn, $listOrder); ?> </th> </tr> </thead> В этом фрагменте кода воспроизводятся заголовки сортируемых столбцов. Следующий фрагмент кода приведен ниже. <tbody> <?php foreach ($this->items as $i => $item) : ?> <tr> <td> <?php if ($canEdit) : ?> <a href="/<?php echo JRoute::_( 4$>' index .php?option=com_j oomprosubs&task=subscription.edit ->&sub_id='. $item->id.'&catid='.$item->catid); ?>"> <?php echo $item->title; ?></a> <?php else: ?> <?php echo $item->title;?> <?php endif; ?> <?php if ($this->params->get('show_description')) : ?> <?php echo nl2br($item->description);?> <?php endif; ?> </td> <td> <?php echo $item->group_title; ?> </td> <td> <?php echo $item->duration; ?> </td> </tr> <?php endforeach; ?> </tbody> </table> В этом фрагменте кода организуется циклическое обращение к элементам массива и воспроизведение каждой строки таблицы, в том числе заголовка, описания, если соответствующий параметр установлен на отображение описания, а также названия подписки и срока ее действия. И последний фрагмент кода из рассматриваемого здесь файла компоновки приведен ниже. <div> <р> <?php echo $this->pagination->getPagesCounter(); ?> </p> <?php echo $this->pagination->getPagesLinks(); ?> </div> <div> <input type="hidden" name="filter_order" value="<?php echo $listOrder; ?>" /> <input type="hidden" name="filter_order_dir" value="<?php echo $listDirn; ?>" /> </div> </form> <?php endif; ?> В этом фрагменте кода воспроизводятся элементы управления разбиением на страницы, закрывается форма и завершается кодовый блок условного оператора if-else. Понравился материал? Пригодилась информация? Плюсани в социалки!
|
Похожие новости | |