API

Вы можете получить параметры шаблона согласно API Joomla!, но из-за особенностей хранения данных параметров это не всегда удобно и часто проблемно.

Шаблон предлагает воспользоваться рядом дополнительных функций, оформленных в виде конфигуратора шаблона и уже доступных в макетах шаблона, для облегчения получения ряда параметров.


Подключение конфигуратора

JLoader::register('Master3Config', JPATH_LIBRARIES . '/master3/config.php');
$config = \Master3Config::getInstance();

При переопределении основных макетов шаблона вам нет необходимости подключать конфигуратор – он уже подключен в index.php шаблона.


Свойства

$name: string

Содержит имя шаблона.


$isMain: bool

Показывает, является ли текущая страница главной.


$isWebP: bool

Показывает, поддерживает ли браузер пользователя формат изображений webp.


$params: \Joomla\Registry\Registry

Содержит параметры шаблона в том виде, в котором их хранит Joomla!.


Функции, применяемые в переопределённых макетах шаблона

getBodyClasses(): string

Содержит строку с набором классов для <body>.

Применяется только в index.php шаблона


getLayout(): string

Содержит имя назначенного файлового макета для текущей страницы.

Применяется только в index.php шаблона


getSystemOutput(): string

Получение рендера основного контента (рендер компонента).

Возвращаемое значение: строка с html-разметкой либо пустая строка в случае, если содержимое рендера основного контента отстутствует либо рендер запрещен параметром шаблона Do not display the component on the page.


getLogo(): string

Получение рендера позиции logo, если в ней имеются опубликованные модули, либо логотипа, указанного в параметрах шаблона.

Возвращаемое значение: строка с html-разметкой.


getSectionParams((string)$sectionName,(int)$sectionType=0): \stdClass

Получение параметров секции.

Входные параметры:
$sectionName – имя секции
$sectionType – тип секции:
0 - стандартная секция,
1 - секция с параметрами для сайдбаров,
2 - секция с параметрами для navbar

Возвращаемое значение: стандартный класс, список полей:

  • (string)id – идентификаторк секции
  • (string)class – класс секции
  • (string)image – изображение на фон секции
  • (string)style – стиль модульных позиций внутри секции
  • (string)container – класс контейнера контента внутри секции
  • (string)responsive – суффикс для css-класса .uk-child-width-* для сетки блоков модульных позиций внутри секции
  • (string)gridClass – класс сетки блоков модульных позиций внутри секции

(следующие параметры только для секции с параметрами для сайдбаров)

  • (string)mainGridSize – размерность для css-класса .uk-width-* для блока основного контента сайта
  • (string)sidebarGridSize – размерность для css-класса .uk-width-* для блоков сайдбаров
  • (string)sidebarAClass – класс блока сайдбара A
  • (string)sidebarBClass – класс блока сайдбара B

(следующие параметры только для секции с параметрами для navbar)

  • (string)sticky – html-атрибут для применения sticky
  • (string)navbarMode – строка параметров для html-атрибута data-uk-navbar
  • (bool)dropbarMode – флаг применения параметра Dropbar mode
  • (string)nbLeftDisplay – класс отображения блока позиции navbar-left для адаптации
  • (string)nbCenterDisplay – класс отображения блока позиции navbar-center для адаптации
  • (string)nbRightDisplay – класс отображения блока позиции navbar-right для адаптации

getOffcanvasParams((string)$offcanvasName): \stdClass

Получение параметров offcanvas-секции.

Входной параметр:
$offcanvasName – имя offcanvas-секции

Возвращаемое значение: стандартный класс, список полей:

  • (int)id – идентификаторк секции
  • (string)class – класс секции
  • (string)attrs – строка параметров атрибута data-uk-offcanvas для секции

Функции, применяемые при формировании стилей модулей

getModuleParams((int)$moduleId): \stdClass

Возвращает установленные в шаблоне параметры модуля по его ID.

Входной параметр:
$moduleId – идентификатор модуля

Возвращаемое значение: стандартный класс, список полей:

  • (int)id – идентификаторк модуля
  • (string)class – класс блока модуля
  • (string)dataAttrs – data-атрибуты блока модуля
  • (string)display – класс, определяющий отображение блока модуля в зависимости от ширины рабочей области браузера или экрана устройства
  • (string)align – класс, определяющий выравнивание контента в блоке модуля
  • (bool)offtoggle – флаг, доступный только для модулей типа mod_menu, определяющий, показывать ли кнопку открытия мобильного меню
  • (string)titleTag – html-тег заголовка или строку module, если значение этого параметра следует брать из параметров модуля
  • (string)titleClass – класс заголовка модуля
  • (string)titleLink – ссылка для заголовка модуля

getOffcanvasToggle(): string

Возвращает суффикс css-классов .uk-visible*, .uk-hidden*.

Значение устанавливается параметром шаблона Offcanvas toggle.


Функции, применяемые в шаблонах расширений, переопределённых в основном шаблоне

getMenuItemParams((int)$itemId): \stdClass

Возвращает установленные в шаблоне параметры конкретного пункта меню по его ID.

Область применения: mod_menu, шаблон navbar.

Входной параметр:
$itemId – идентификатор пункта меню

Возвращаемое значение: стандартный класс, список полей:

  • (int)id – идентификаторк пункта меню
  • (string)subtitle – подзаголовок
  • (int)cols – количество колонок в подменю
  • (bool)divider – разделитель для колонок в подменю
  • (bool)dropdownJustify – выравнивание блока подменю по ширине контейнера navbar
  • (string)dropdownClass – дополнительный класс блока подменю пункта меню верхнего уровня

getDUA(): string

Возвращает значение параметра шаблона Deny user authorization.

Область применения: com_users, mod_login.


Статические функции

getInstance(): \Master3Config

Получение экземпляра конфигуратора. Функция получает уже созданный экземпляр конфигуратора либо вызывает конструктор конфигуратора, если конфигуратор в рамках сессии PHP вызывается впервые. Напрямую конструктор конфигуратора вызвать нельзя.


getTemplateName(): string

Получение имени шаблона.

Эта функция применяется только для служебных нужд конфигуратора и не рекомендуется к использованию.