Перейти к содержанию

Все разделы сайта

Написать о задаче

Wmarka 4.1: опции пунктов меню через плагин, Joomla 6.2 и ничего лишнего в head

Вышли Wmarka 4.1.0 и 4.1.1. Вкладка «Опции WMARKA» в пунктах меню теперь работает через собственный системный плагин, шаблон подхватывает новые опции Joomla 6.2, а в head осталось только то, что странице действительно нужно.

Обложка новости о Wmarka 4.1.1: номер версии, замер файлов в head до и после, системный плагин для опций пунктов меню

Опции пунктов меню — через плагин

Проверка формами Joomla 6.2.0 показала неприятное: у пунктов меню на штатных макетах вкладки «Опции WMARKA» не было вовсе. Joomla берёт описание формы из папки шаблона только для альтернативного макета вида шаблон:макет, а копии описаний штатных макетов не читает. Значения, которые записывал установщик демо, стирались при первом сохранении пункта.

Теперь поля добавляет новый плагин «Система — wmarka»: пакет ставит и включает его сам. Плагин подключается к событию подготовки формы — моменту, когда Joomla собирает форму правки и даёт расширениям дописать в неё свои поля, — и добавляет к штатной форме только поля Wmarka. Поля ядра остаются те, что даёт установленная версия Joomla, поэтому новые параметры появляются сами: в 6.2 это «Изображения подкатегорий». Карточка «Состояние шаблона» показывает, включён ли плагин.

Joomla 6.2

  • у картинки и её обёртки figure раздельные классы — в карточках, во вступительном и полном изображении; форма правки материала на сайте показывает новые поля, иначе сохранение с сайта стирало бы их;
  • картинки подкатегорий в блоге и списке категорий материалов и контактов;
  • в модуле входа скрываются ссылки «Забыли пароль?» и «Забыли логин?»;
  • устаревший вызов getQuery(true) заменён на createQuery() в 28 местах.

В Joomla 5 и 6.1 этих полей нет, и вывод остаётся прежним.

Ничего лишнего в head

Выпуск 4.1.1 убрал то, что приходило на каждую страницу без нужды:

  • Сообщения ядра — только когда они есть. Скрипт и стили системных сообщений подключаются, если сообщение есть или на странице работает проверка формы; иначе остаётся пустой контейнер, куда скрипты смогут вывести сообщение позже.
  • Гостю — без keepalive. Так зовут скрипт поддержки сессии: раз в несколько минут он стучится на сервер, чтобы вошедший пользователь не потерял сеанс. Модуль входа в шапке подключал его каждому гостю, и каждая открытая вкладка зря нагружала сервер.
  • Один граф Schema.org. Граф — блок структурированных данных в формате JSON-LD, по которому поисковики понимают, что на странице: материал, автор, организация. Когда включена разметка шаблона, граф плагина ядра снимается, и на странице остаётся один.
Восемь страниц на Joomla 6.2.0былостало
скрипт и стили системных сообщенийна всехна двух страницах с формами
keepalive.min.jsна всехна страницах с формами
графов JSON-LD на страницедва на двух страницаходин

Стилей Cassiopeia, Bootstrap, Font Awesome и jQuery по-прежнему нет нигде. Остался core.min.js: его ставит само ядро для служебного блока настроек в head, так устроен любой шаблон, и Cassiopeia тоже. Убрать его можно только вмешательством во внутренние механизмы ядра ради 3,2 килобайта — такой риск не окупается.

Руководство и чистая сборка

Ко всему этому вышло интерактивное руководство по Wmarka 4.1: схема всех 37 позиций, лаборатории по блокам, меню, датам, картинкам, canonical и дочернему шаблону. А тем, кому настройки в админке не нужны вовсе, адресован wmarka clean.

Список использованных источников

  1. Wmarka 4.1.1 — выпуск на GitHub
  2. Wmarka 4.1.0 — выпуск на GitHub
  3. Журнал изменений Wmarka — CHANGELOG.md