Переопределения

# Переопределение разметки

Вся разметка основного шаблона сосредоточена в файлах в папке /layouts в корне папки шаблона. Имена всех файлов в этой папке должны соответвовать файловой маске template.*.php, где * – любое произвольное имя, состоящее из символов латинского алфавита, цифр, знака минуса (-) и знака нижнего подчеркивания (_). Точки и пробелы недопустимы. Именно это имя будет использоваться в качестве имени слоя в списке переопределённых макетов в параметре шаблона Files layouts. Допускается, но не рекомендуется использовать символы в верхнем регистре.

В дистрибутиве поставляется всего один файл разметки: template.default-original.php. Этот файл является системным, он будет перезаписан при обновлении шаблона.

ВАЖНО!
Настоятельно не рекомендуется вносить правки в файл template.default-original.php во избежание потерь вашей разметки при обновлении шаблона!

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

При обновлении шаблона копирование файла template.default-original.php в файл template.default.php происходит только при физическом отсутствии последнего.

Если при установке или обновлении шаблона копирования файла не произошло и файл template.default.php отсутствует, вам необходимо скопировать его вручную.

Ни макет default-original, ни макет default не отображаются в списке переопределённых макетов в параметре Files layouts, т.к. являются базовыми.

Файл макета целиком и полностью содержит в себе всю разметку, находящуюся внутри <body> (сам тег <body> при этом находится в файле index.php в корне шаблона).

Для переопределения макета вам необходимо вручную скопировать файл template.default.php и поменять в нём имя макета default на своё собственное, согласно описанного выше правила.

В переопределённом макете вы можете создать любую удобную для вас разметку.

При удалении файла макета необходимо обязательно пересохранить параметры шаблона. Если файл назначенного на текущую страницу макета не будет найден, будет применен макет default. Если по какой-либо причине макет default также не будет найден, будет применён макет default-original, что крайне нежелательно.

Переопределение макета вывода страницы ошибки (error.php)

Макет вывода страницы ошибки переопределяется по аналогии с основным макетом шаблона и по умолчанию находится в файле /layouts/template.error.php.

В дистрибутиве поставляется всего один файл разметки вывода страницы ошибки: template.error-original.php. Этот файл является системным, он будет перезаписан при обновлении шаблона.

ВАЖНО!
Настоятельно не рекомендуется вносить правки в файл template.error-original.php во избежание потерь вашей разметки при обновлении шаблона!

При первичной установке шаблона файл template.error-original.php будет скопирован в файл template.error.php, который является единым макетом вывода страницы ошибки для всего сайта и не подлежит дальнейшему переопределению.

При обновлении шаблона копирование файла template.error-original.php в файл template.error.php происходит только при физическом отсутствии последнего.

Если при установке или обновлении шаблона копирования файла не произошло и файл template.error.php отсутствует, вам необходимо скопировать его вручную.

Ни макет error-original, ни макет error не отображаются в списке переопределённых макетов в параметре Files layouts, т.к. являются базовыми.

Переопределение макета вывода страницы технического состояния (offline.php)

Макет вывода страницы технического состояния переопределяется по аналогии с основным макетом шаблона и по умолчанию находится в файле /layouts/template.offline.php.

В дистрибутиве поставляется всего один файл разметки вывода страницы технического состояния: template.offline-original.php. Этот файл является системным, он будет перезаписан при обновлении шаблона.

ВАЖНО!
Настоятельно не рекомендуется вносить правки в файл template.offline-original.php во избежание потерь вашей разметки при обновлении шаблона!

При первичной установке шаблона файл template.offline-original.php будет скопирован в файл template.offline.php, который является единым макетом вывода страницы технического состояния для всего сайта и не подлежит дальнейшему переопределению.

При обновлении шаблона копирование файла template.offline-original.php в файл template.offline.php происходит только при физическом отсутствии последнего.

Если при установке или обновлении шаблона копирования файла не произошло и файл template.offline.php отсутствует, вам необходимо скопировать его вручную.

Ни макет offline-original, ни макет offline не отображаются в списке переопределённых макетов в параметре Files layouts, т.к. являются базовыми.


# Переопределение стилей секций и обёрток модулей

Стили секций и обёрток модулей устанавливаются на вкладке Sections в параметрах шаблона.

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

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

Подробно каждый параметр для набора описан на странице Параметры секций.


Меню выводится стандартным модулем Joomla! mod_menu.

В модуле реализовано сразу несколько переопределений шаблона модуля:

  • default – вывод вертикального меню uk-nav
  • navbar – вывод основного горизонтального меню uk-navbar
  • subnav – вывод вспомогательного горизонтального меню uk-subnav

Всё, что вам необходимо сделать – выбрать в параметрах модуля соответствующий альтернативный макет из основного шаблона сайта и при необходимости прописать суффикс класса модуля. Для navbar так же доступны расширенные настройки в параметрах основного шаблона сайта.


# Переопределение шаблона целиком

Вы можете переопределить шаблон целиком, скопировав папку master3 и переименовав её. В файле templateDetails.xml в корне папки новой копии шаблона вам необходимо поменять в самом начале файла параметр <name>, указав в нём имя папки шаблона. Более править ничего не нужно, шаблон будет полностью готов к работе после его установки в административной панели сайта, на странице Расширения → Менеджер расширений → Найти.

Также вам необходимо сделать копию языковых файлов, расположенных в папке /language/en-GB/, переименовав файлы следующим образом:

  • en-GB.tpl_master3.ini => en-GB.tpl_{newtemplatename}.ini
  • en-GB.tpl_master3.sys.ini => en-GB.tpl_{newtemplatename}.sys.ini

В новом языковом файле en-GB.tpl_{newtemplatename}.sys.ini необходимо присвоить переменной TPL_MASTER3 значение нового имени шаблона.


# Список переопредлённых раcширений

В шаблоне переопределены только штатные расширения, входящие в поставку Joomla!3.

Компоненты:

  • com_contact
  • com_content
  • com_privacy
  • com_search
  • com_tags
  • com_users
  • com_wrapper

Модули:

  • mod_articles_archive
  • mod_articles_categories
  • mod_articles_category
  • mod_articles_latest
  • mod_articles_news
  • mod_articles_popular
  • mod_banners
  • mod_breadcrumbs
  • mod_custom
  • mod_languages
  • mod_login
  • mod_menu
  • mod_related_items
  • mod_search
  • mod_tags_popular
  • mod_tags_similar
  • mod_wrapper

Плагины:

  • plg_content_­pagenavigation
  • plg_content_­pagebreak
  • plg_content_­vote
  • plg_fields_­calendar
  • plg_fields_­checkboxes
  • plg_fields_­color
  • plg_fields_­editor
  • plg_fields_­imagelist
  • plg_fields_­list
  • plg_fields_­media
  • plg_fields_­radio
  • plg_fields_­repeatable
  • plg_fields_­sql
  • plg_fields_­textarea
  • plg_fields_­url
  • plg_fields_­user

Слои:

  • com_contact
  • com_fields
  • com_users
  • joomla/content
  • joomla/error
  • joomla/form
  • joomla/pagination
  • joomla/system
  • libraries
  • plugins/system
  • plugins/user