ALBIREO CMS
version: 2026.06.21

Создание шаблона Albireo CMS

Есть два подхода к изменению Default-шаблона Albireo CMS.

  • Первый — это создать копию Default и все изменения производить в новом шаблоне.
  • Второй подход — это использовать стандартный Default, но расширить его возможности.

Копия Default

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

Лучше всего сохранить структуру каталогов, хотя можно её произвольно менять, но тогда придётся указывать их через php-константы. Поэтому проще использовать каталоги как есть (но можно добавить свои).

CSS-фреймворк

Поскольку Albireo CMS построена на Berry CSS и AlpineJS, то файлы шаблона активно используют их css-классы и js-код. Если вы переделываете шаблон под другой css-фреймворк и js-библиотеку, то учитывайте эту особенность.

Ресурсы шаблонов

Ресурсы шаблонов удобно хранить отдельно, поэтому вы можете придерживаться этой же практики. В этом случае подключение файлов ресурсов происходит через parts-файлы.

Layout-сетка

Без layout-файла Albireo CMS работать не будет, поэтому его наличие есть обязательное условие.

Расширение Default

Намного проще не создавать новый шаблон, а расширить текущий. Default — мощный шаблон, который охватывает огромное количество задач вебстроительства и нет большого смысла его переделывать.

Поэтому можно пойти несколькими путями.

  • Первый — добавить свои файлы прямо в каталог шаблона.
  • Второй — использовать стандартный my-каталог.
  • Третий — использовать отдельный my-каталог.

Добавление своих файлов в каталог шаблона Default

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

Например если вы добавляете новую шапку, то можно использовать префикс my-: my-header.php. Таким образом файлы останутся на месте после обновления системы.

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

Использование стандартного my-каталога

Это каталог website/service/my, который повторяет каталоги шаблона. Albireo CMS позволяет использовать эти каталоги как замену стандартным файлам шаблона, так и для подключения собственных файлов.

Например стандартный файл шапки header1.php можно скопировать в my/modules/headers. Тогда система будет использовать его вместо default-варианта. То есть подмена файла происходит скрыто и позволяет не менять поля страниц.

Либо вы можете создать новый файл в my-каталоге - он будет подключен так же как и стандартный.

Отдельный my-каталог

Строго говоря my-каталогов может быть множество, с тем ограничением, что сайт может использовать только один, который указывается через опцию serviceMyDir конфигурации config.php:

'serviceMyDir' => 'service/my-taurus',

В этом примере my-каталог будет располагаться как website/service/my-taurus с той же структурой. Таким образом через конфигурацию можно переключать разные варианты my-каталога для расширения Default.

Произвольные каталоги

Во многих случаях в Albireo CMS принято задавать пути к подключению файлов в полном виде. Например для подключения tpl-файла следует явно указать путь. По умолчанию это php-константа TPL_DIR, например

echo tpl(data: $rows['pagination'], tpl: TPL_DIR . 'pagination1.php');

Фактически это означает, то pagination1.php можно разместить произвольно, например в каталоге записей:

echo tpl(data: $rows['pagination'], tpl: PAGES_DIR . '_pagination/pagination1.php');

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

Кроме этого, Albireo CMS позволяет менять стандартные расположения каталогов. Обычно это php-константы, которые можно переопределить до загрузки «ядра» системы. Например вы можете поменять расположение tpl-файлов, изменив константу TPL_DIR.

Эта возможность пригодится для случаев, если вам нужно интегрировать существующий старый код так, чтобы не поломать совместимость с Albireo CMS.

Распространение своего my-каталога

При необходимости можно распространять my-каталог (под другим именем) отдельно. Поскольку основа всегда Default-шаблон, то любой my-каталог будет корректно работать в любой версии Albireo CMS.

Единственное ограничение — это необходимость отдельной инструкции для пользователя, где будет указано какие поля следует указать у страниц. Например имена новых шапок, css-тем оформления и т.д.

Если ваша версия предполагает изменения или указания множества полей, то можно выделить для этого отдельный page-data-файл, чтобы пользователю было удобно его использовать.