Сышышь ты, выходи сюда,
поговорим!

Улучшаем модуль Последние новости в Joomla 3

Опубликовано: 22.12.2017

02 Февраля 2014 | просмотров: 15818 | рубрика: Joomla 3

Чем плох стандартный модуль последние новости в Joomla 3 ( mod_articles_latest ) ? Правильно, тем что он выводит только название материала. А как же быть, когда в этом модуле нужно вывести дату создания или публикации материала и категорию в которой он опубликован, а может и еще чего полезного? Я решил не искать сторонний модуль, а просто подправить шаблон вывода стандартного модуля, тем более что его стандартные возможности, как оказалось, это позволяют.

Сразу оговорюсь, что это не хак. Так как вы просто настраиваете формат вывода данного модуля по вашему шаблону. Для начала в папке /templates/вашшаблон/ находим папку html.  Если папки с таким названием нет - то создаем. В папке html создаем папку с названием  mod_articles_latest.  Копируем файл default.php из папки /modules/mod_articles_latest/tmpl/  в только что созданную папку /templates/вашшаблон/html/mod_articles_latest/,  заодно можете скопировать и файл index.html для безопасности. 

Теперь Joomla будет в первую очередь проверять как ей отображать модуль. Если существует папка с названием модуля в папке html вашего шаблона и в ней присутствует файл отображения (в нашем случае default.php) то обрабатываться будет он. Если же отсутствует - стандартный в папке /modules . Таким образом даже после обновления Joomla ваши изменения не пропадут, так как они заданы в папке вашего шаблона.

Стандартный файл default.php у модуля последние новости выглядит следующим образом:

<ul class="latestnews<?php echo $moduleclass_sfx; ?>"> <?php foreach ($list as $item) : ?> <li> <a href="/<?php echo $item->link; ?>"> <?php echo $item->title; ?></a> </li> <?php endforeach; ?> </ul>

Нумерация строк сохранена. В данном случае все, что он умеет делать это отображать название материала ( $item->title ) и ссылку на него ( $item->link ). Давайте сделаем так, чтобы модуль отображал также дату публикации материала и категорию в которой он находится. Делается это все просто, тем более что стандартный helper модуля данные в массив $list уже получил.

rss