Перейти к содержимому
Как автоматически обновлять год в футере сайта?

Как автоматически обновлять год в футере сайта?

Каждый год одно и тоже! Вы опять забыли поменять в футере год на очередном сайте! Уже февраль и заказчик негодует – ну как так? Особенно весело, когда таких сайтов 10, 20 или 50...

Не хотите больше думать об этом каждый год? Тогда запишите полезный код и замените им год на своем сайте!

Способ первый. Вывод текущего года через модуль «Копирайты»

В Joomla существует модуль с названием «Копирайты» (модуль для отображения копирайтов сайта и Joomla CMS):
Joomla Модуль «Копирайты»
Рисунок 1. Модуль «Копирайты» для отображения копирайтов сайта и Joomla CMS.

Он предназначен для отображения информации об авторских правах сайта и Joomla CMS.

Модуль имеет 2 языковые константы, которые отвечают за первую и вторую строки в копирайте. Это — текстовые константы MOD_FOOTER_LINE1 и MOD_FOOTER_LINE2, которые можно переопределить через стандартный интерфейс управления языковыми константами Joomla.

В самой константе есть чудесная переменная %date%, которая заменяется на текущий год. Модуль можно вывести в позицию шаблона Joomla или вывести в нужном месте при помощи синтаксиса {loadposition}, {loadmodule} или {loadmoduleid} (для Yootheme Pro)

Вставка текущей даты через переопределение языковой константы модуля Joomla Копирайты
Рисунок 2. Вставка текущей даты через переопределение языковой константы модуля Копирайты

Способ второй. Плагин переопределений

  • Скачиваем плагин и устанавливаем его в Joomla.
  • Делаем переопределение константы по рецепту, описанному выше.
  • В Yootheme Pro выводим, как на скрине:
Вставка даты через синтаксис Joomla плагина Content Langos
Рисунок 3. Вставка даты через синтаксис плагина Content Langos

Загрузка модуля плагином - это загрузка плагина (1 запрос в базу), разбор страницы (preg_match_all - довольно хорошо кушает), получение списка ВСЕХ модулей (ещё один запрос), поиск нужного в массиве. Дефолтный loadmoduleid потребляет очень много ресурсов.

Выгоднее использовать плагин Joomla content langos, т.к. он получает модуль из базы по id, а не грузит все в массив и потом производит в нём поиск. В случае с плагином - загрузили плагин, распарсили страницу, вставили константу.

Способ третий. Для Yootheme Pro и не только

Вставляем код через HTML элемент в YOOtheme Pro:
<script> document.currentScript.insertAdjacentHTML('afterend', '<time datetime="' + new Date().toJSON() + '">' + new Intl.DateTimeFormat(document.documentElement.lang, {year: 'numeric'}).format() + '</time>'); </script>
Этот код вставит тег
Вставляем Javascript код в футере сайта через элемент билдера YOOtheme Pro
Рисунок 4. Вставляем Javascript код в футере сайта через элемент билдера YOOtheme Pro.

На момент написания данной статьи, это 2023 год. Добавляйте данный код и забудьте о проблемы ручной смены даты.

Успехов!

Изменено: 24 октября 2023

Евгений Сивоконь

Предприниматель, project и product manager, Joomla-энтузиаст. Занимаюсь созданием сайтов с 2002 года. Координатор нескольких веб-проектов.