Структура модуля Материалы-новости
- 08 февраля 2017
Файл default.php
//оболочка модуля <div class="newsflash<?php echo $moduleclass_sfx; ?>"> <?php //в цикле выводятся новости foreach ($list as $item) : require JModuleHelper::getLayoutPath('mod_articles_news', '_item'); endforeach; ?> </div>
Все достаточно просто. Если в настройках указан суффикс класса модуля, то он будет добавлен к основному классу. Массив $list
(сформирован в файле helper.php) содержат все отфильтрованные и отсортированные материалы, которые и выводятся в цикле.
require
- каждый раз вызывает файл _item.php
Если в настройках вы выберете стиль модуля отличный от none
, то приведенный код будет обернут в дополнительный контейнер
<div class="moduletable"> <h3>Title</h3> <!-- код модуля --> </div>
При выборе none
- внешний контейнер и заголовок выводиться не будут, даже если в настройках указано выводить.
Файл _item.php
Без проверок различных условий, файл можно представить так:
<?php defined('_JEXEC') or die; ?> //Заголовок-ссылка <a href="<?php echo $item->link;?>"><?php echo $item->title;?></a> //Вступительный текст <?php echo $item->introtext; ?> //Кнопка Подробнее <?php echo '<a class="readmore" href="'.$item->link.'">'.$item->linkText.'</a>'; ?>
Примечание
Полный код вы можете посмотреть в исходном файле. В условиях проверяется наличие тех или иных параметров, и их значений, указанных в настройках.
Код настолько прост, что не требует дополнительных комментариев.