Ниже предлагается перевод полезного материала от Даниэля Дюбуа, который поделился с сообществом переопределением модуля материалов Joomla, при помощи которого вы сможете отображать ленту последних материалов в стиле новостных лент.

Даниэль Дюбуа (Daniel Dubois)
Активно поддерживает CMS Joomla с 2014 года, является основателем группы пользователей Joomla Breizh (Франция) и докладчиком на мероприятиях Joomla. Даниэль делится своими знаниями и опытом в соответствии с духом открытого исходного кода.
Это переопределение Joomla 4 позволяет отображать вертикальный список статей, просто используя модуль Joomla под названием mod_articles_latest.
Готовый результат будет выглядеть в духе новостных порталов:

PHP переопределение макета модуля
<?php /** * @package Joomla.Site * @subpackage mod_articles_latest * @author web-eau.net * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; if (!$list) { return; } ?> <div class="sidebar-news"> <div class="sidebar-title"> <div class="news-circle"></div> <h1> News </h1> </div> <div class="sidebar-line"></div> <div id="sidebar-content"> <?php foreach ($list as $item) : ?> <div class="sidebar-object"> <div class="sidebar-date"><?php echo JHtml::_('date', $item->created, "d"); ?></div> <div class="sidebar-circle"></div> <div class="sidebar-context"> <h5><a href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a></h5> <?php echo JHTML::_('string.truncate', $item->introtext, 50, false, false) ; ?> </div> </div> <?php endforeach; ?> </div> </div>
CSS:
Вставьте следующий CSS код для дополнительной стилизации модуля в css файл шаблона:
.sidebar-news { position: relative; width: 350px; background-color: #fff; box-shadow: 0px 2px 10px rgba(0, 0, 0, .3); overflow: hidden; margin: 20px auto; border-radius: 2px; } .sidebar-title { width: 100%; height: 100px; background-color: #3498db; overflow: hidden; } .sidebar-title .news-circle { position: relative; top: 20px; left: 60px; width: 50px; height: 50px; background-color: #f1c40f; box-shadow: 0px 3px 3px rgba(0, 0, 0, .3); border-radius: 50%; z-index: 10; } .sidebar-title h1 { position: relative; top: -30px; left: 140px; font-size: 2.5em; color: #fff; border-bottom: 1px solid #f1c40f; } .sidebar-line { position: absolute; z-index: 0; top: 50px; left: 85px; height: calc(100% + 200px); width: 0px; border-right: 1px solid #f1c40f; } #sidebar-content { width: 100%; height: 700px; overflow: hidden; padding-top: 20px; overflow-y: auto; overflow-x: hidden; } #sidebar-content::-webkit-scrollbar { width: 6px; background-color: #ebebeb; } #sidebar-content::-webkit-scrollbar-thumb { background-color: #ccc; } #sidebar-content .sidebar-object { width: 100%; } #sidebar-content .sidebar-object:after { content: ""; display: block; height: 0; clear: both; } #sidebar-content .sidebar-object .sidebar-date { float: left; width: 40px; height: 40px; margin: 20px; background-color: #f1c40f; color: #fff; border-radius: 10px; text-align: center; line-height: 1.9em; font-size: 1.4em; } #sidebar-content .sidebar-object .sidebar-circle { position: relative; float: left; z-index: 10; margin: 30px 0 0 -5px; width: 20px; height: 20px; background-color: #3498db; border-radius: 50%; } #sidebar-content .sidebar-object .sidebar-context { float: left; color: #666; width: 200px; min-height: 40px; margin: 10px 0 10px 0px; padding: 20px; line-height: 1.5em; }
В итоге вы получите отображение ленты последних новостей в духе информационных порталов. Пример, которым вдохновлялся автор, можно посмотреть на CodePen.
Если вы не знаете, как переопределить шаблон Joomla, ознакомьтесь со следующими статьями:
Успешных вам экспериментов!
Joomla в Телеграм
Сообщество Yootheme Pro (page builder для Joomla)
Новости клуба NorrNext (разработчики расширений Joomla)
Вакансии и предложения работы по Joomla: фуллтайм, частичная занятость и разовые подработки. Размещение вакансий здесь.
