👩💻 WT Layout select - плагин выбора файла макета (layout) Joomla.
Плагин пользовательского поля Joomla: выпадающий список PHP-лейаутов из указанных папок с учетом переопределений активного шаблона сайта.
Поле Joomla:
- сканирует указанные папки с PHP-лейаутами;
- показывает в выпадающем списке варианты с учетом переопределений шаблона (/templates//html/...);
- сохраняет выбранное значение в rawvalue поля с layout и basePath (JSON);
- отдает вычисленное значение в value (layout_id), пригодное для Joomla LayoutHelper::render() вида com_content.article.sections.pricelist (для файла JPATH_ROOT/layouts/com_content/article/sections/pricelist.php).
👉 Зачем это нужно?
Поле удобно, когда нужно дать контент-менеджеру выбор варианта верстки без правки шаблона:
- материалы (com_content): секции статьи, карточки, блоки CTA;
- контакты (com_contact): разные шаблоны карточки контакта;
- категории и списки: разные макеты частей страницы под контекст;
- зоны вывода модулей: включение контента/модулей в нужном варианте макета.
- возможность создавать переиспользуемые блоки вёрстки для создания ледингов на Joomla.
- использовать в своих блоках-layouts вывод модульных позиций.
Один из вариантов использования в коде переопределений:
use Joomla\CMS\Layout\LayoutHelper;
$field = $this->item->jcfields[14] ?? null;
if ($field && !empty($field->rawvalue)) {
$raw = json_decode($field->rawvalue);
if (!empty($raw->layout) && !empty($raw->basePath)) {
echo LayoutHelper::render($raw->layout, ['item' => $this->item], $raw->basePath);
}
}
Скачать плагин выбора лейаутов Joomla
@joomlafeed