BSL Daily Content — бесплатный content-плагин для
Joomla 5 и
Joomla 6, который позволяет связать отдельные материалы с календарными датами в формате
DD-MM и вывести их на общей странице или в модуле
Joomla Custom с записью на сегодняшний день.
Плагин подходит для сайтов, где каждому дню года соответствует отдельная запись: праздник, цитата, историческое событие, анекдот, гороскоп, аффирмация, совет, рецепт или любой другой ежедневный контент.
У меня задача была более конкретной: я публикую на своём сайте комментарии к записям «Ежедневных размышлений Анонимных Алкоголиков». Для каждой даты нужен отдельный обычный материал
Joomla, но посетитель должен получать запись за выбранный день на одной общей странице, а на главной — в модуле
Joomla Custom с текстом на сегодня.
Первоначально плагин создавался только для этой задачи и назывался
BSL Daily Reflections. Затем он был переработан в универсальное расширение, не привязанное к конкретной тематике, категориям или заранее заданной языковой паре.
Как это работаетШтатные даты материала
Joomla для этой задачи не подходят. Они содержат год и управляют жизненным циклом публикации: когда материал создан, изменён, опубликован или снят с публикации. Но запись «25 декабря» должна занимать своё место в календаре ежегодно — независимо от года её создания и сроков публикации.
Поэтому плагину нужен отдельный календарный признак, содержащий только день и месяц. После выбора языка и категории в настройках
BSL Daily Content создаёт служебное поле
Daily Content date. В редакторе материалов выбранной категории появляется вкладка
Daily Content, где указывается повторяющаяся дата в формате
DD-MM, например
25-12. Она определяет день показа записи, но не заменяет штатные даты
Joomla.
Каждая дата может использоваться только один раз внутри одной категории. Если попытаться назначить ту же дату второму материалу, плагин предупредит о дублировании.
Место вывода задаётся короткими безопасными командами — шорткодами. Это позволяет не вставлять в материал или модуль исполняемый код и сложную HTML-разметку, которые визуальный редактор
Joomla может удалить или изменить при сохранении. Не нужно отключать редактор глобально или каждый раз восстанавливать повреждённый код: в содержимом остаётся только простая команда в фигурных скобках, а настоящий интерфейс, календарь, текст материала и ссылки формирует сам плагин.
Для общей страницы ежедневных материалов используется шорткод:
Для записи на сегодняшний день в модуле
Joomla Custom используется:
Если записи для выбранной даты пока нет, посетитель увидит понятное сообщение об отсутствии материала.
Основные возможности- отдельный обычный материал Joomla для каждой календарной даты;
- служебная дата в формате DD-MM, не зависящая от года, даты создания или публикации материала;
- полная страница ежедневного контента с выбором даты;
- вывод записи на сегодняшний день в модуле Joomla Custom;
- ссылка из модуля Joomla Custom на соответствующую запись полной страницы;
- защита от повторного назначения одной даты внутри категории;
- автоматическое открытие вкладки Daily Content при выборе настроенной категории;
- основной и необязательный дополнительный язык контента;
- поддержка любых двух опубликованных языков Joomla;
- отдельная категория и отдельная цель ссылки для каждого языка;
- корректная работа со штатными ассоциациями материалов и переключателем языков Joomla;
- сохранение материалов и назначенных дат при изменении категорий в настройках;
- автоматические обновления через Joomla Update System;
- английский и русский языки интерфейса плагина.
МультиязычностьВ настройках выбирается один основной язык и при необходимости второй. Это могут быть любые два опубликованных языка контента
Joomla — плагин не привязан к русскому и английскому.
Для каждого языка назначается собственная категория материалов. Если сайту нужен только один язык, настройки второго языка можно оставить пустыми.
Работа плагина проверена на трёхъязычном тестовом сайте с русским, английским и немецким языками. Языки менялись местами в настройках, материалы и модули корректно переключались, а сохранённые даты не терялись.
Обновление и миграцияВерсия
1.1.0 поддерживает обновление с
BSL Daily Content 1.0.0 и перенос настроек со старого плагина
BSL Daily Reflections.
При миграции сохраняются:
- категории;
- пункты меню, используемые как цели ссылок;
- поле даты;
- ранее сохранённые значения дат;
- существующие материалы.
Установка[list=1]
- Установить ZIP-пакет через штатный установщик Joomla.
- Открыть настройки плагина Content - BSL Daily Content.
- Выбрать основной язык и категорию материалов.
- При необходимости настроить второй язык и его категорию.
- Сохранить настройки.
- Создать материал для полной страницы и поместить в него
.[/li]
[li]При необходимости создать модуль
Joomla Custom с кодом
Совместимость и требования- Joomla 5.x или Joomla 6.x;
- PHP 8.3 или новее;
- один установочный пакет для обеих версий Joomla;
- сторонние библиотеки и внешние сервисы не требуются.
Чистая установка и обновление проверены на
Joomla 5 и
Joomla 6. Отдельно проверялись полные страницы, модули
Joomla Custom, переключение языков, защита от дублей дат, удаление и повторная установка плагина, а также миграция со старого расширения без потери сохранённых значений.
Текущая версия1.1.0
Условия распространенияПлагин распространяется бесплатно на условиях GNU General Public License версии 2 или более поздней.
СсылкиЗаявка на публикацию
BSL Daily Content в
Joomla Extensions Directory (JED) уже подана. Ссылку на карточку
JED добавлю после её публикации.
Буду признателен за проверку плагина на других сайтах, шаблонах, языках и конфигурациях
Joomla 5/6. Сообщения об ошибках, замечания, вопросы по настройке и предложения можно оставлять непосредственно в этой теме.