ALBIREO CMS
version: 2026.01.30

Структура страницы в Albireo CMS

Общее описание

Любая страница в Albireo CMS — это обычный текстовый php-файл. В нём можно размещать php-код, простой текст или html-разметку.

Страница в Albireo CMS разделяется на две части, где верхняя хранит служебную информацию. Создайте в каталоге pages файл hello.php:

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed');
/**

title: Hello, world!

**/
?>

Привет, мир!

Теперь наберите в браузере адрес ваш-сайт/hello и вы увидите текст страницы «Привет, мир!».

Страница начинается с php-кода, где первая строчка с No direct script access allowed служит защитой от прямого вызова страницы. Её следует указывать всегда, поскольку это безопасность вашего сайта.

После этого в блоке php-кода используется стандартный php-комментарий в виде /** **/. Внутри него размешается служебная часть страницы в формате «поле: значение».

Обратите внимание, что php-комментарий указывается именно с двумя «**», чтобы различать его от стандартных комментарием с одним «*».

Произвольное размещение служебной секции

Строго говоря, не обязательно использовать именно php-комментарии и не обязательно их размещать в начале файла. Albireo CMS найдёт служебную часть, где бы она не располагалась. Например можно сделать так:

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed');?>

Привет, мир!

<!-- 
/**

title: Hello, world!

**/ 
-->

Здесь мы располагаем служебную информацию в теле html-комментария. Это нужно для того, чтобы текст не появился на самой странице. Попробуйте убрать комментарий и вы убедитесь, что система нашла нужную информацию, но при этом она же будет выводится на самой странице. Чтобы этого избежать, мы используем именно php-комментарии, которые никогда не будут выводиться на самой странице.

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

Если же служебная часть будет отсутствовать или быть пустой, то система пропустит этот файл и он не будет считаться страницей сайта.

PHP-код страницы

На странице можно использовать произвольный php-код.

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed');
/**

title: Hello, world!

**/
?>

Привет, мир!

<?php
    echo 'Hello!';
?>

Привет ещё раз!

Создание страниц в админ-панели

В админ-панели есть вкладка «Pages» где можно просматривать существующие и создавать новые страницы для сайта.

Для создания новой страницы кликните на «New page ...», чтобы открыть форму создания страницы.

Создание страниц в админ-панели Albireo CMS

Поле «Folder» указывает на каталог страницы. Поле «and/or» позволяет сразу указать и каталог и файл. Например если здесь ввести 2026/my-event, то Albireo CMS проверит существование каталога 2026 и если его нет, то автоматически его создаст. Также в нём будет создан файл my-event.php.

Если каталог 2026 уже есть, то можно его выбрать в «Folder» и тогда просто указать имя файла my-event.

Обратите внимание, что файл указывается без расширения .php, система его создаст самостоятельно.

Вспомогательные кнопки: Shorts, Prompts, Date, DateTime, page-Date, 2026/Date, Y/M/D, Unique используются как шаблоны для имени файла. Например, если нужно разместить файл с текущей датой, то достаточно нажать кнопку «Date» и это покажет имя файла, как «2026-03-05» (по текущей дате).

Поле «Master» позволяет создать файл с помощью готового шаблона. Все шаблоны хранятся в каталоге страниц _master.

Загрузка страницы как отдельного php-файла

Большая область «... drag files from your computer here ...» используется как «приёмник» файлов. В эту область можно перетащить мышкой уже готовый файл страницы, после чего она автоматически будет загружена в каталог, указанный в «Folders».

Если отметить чекбокс «Replace files», то при загрузке будет заменен старый файл, если он есть.

Точно также работает кнопка «Обзор», которая позволяет выбрать файлы для загрузки.

Обратите внимание, что имена файлов проходят через автоматическую «подчистку» для того, чтобы обеспечить их корректное сохранение на сервере. Поэтому если загружать файлы с кириллицей, то она будет заменена по принципу транслитерации. Если в имени будет недопустимый символ, то он будет либо удален, либо заменен на символ «-». Это позволяет корректно работать с любыми файлами без опаски.

Загрузка md-файлов

Вы можете загружать не только php-файлы, но и md-файлы, например из Obsidian.

Все загружаемые таким образом md-файлы, проходят через специальную обработку. Это позволяет держать «чистую» Markdown-разметку.

В Markdown-файле для служебной секции следует использовать блок кода, вместо php-комментариев:

```albireo
title: Заголовок
type: blog
date: %%DATE-NOW%%
category: blog
images-dir: [UPLOADS_URL]2026
image-large: attachement/%%SLUG%%.webp

extras.start[info1-header.php]: +
description: [announce]
draft: +

announce: анонс
```

Текст страницы.

При загрузке будут выполнены следующие замены в тексте:

  • %%DATE-NOW%% будет заменено на текущую дату и время.
  • %%SLUG%% будет заменено на имя итогового файла без расширения (или поля page-on-website).
  • attachement/ будет заменёно на значение поля images-dir.

Итоговое расширение файла будет изменено с .md на .php, а секция

```albireo
поля
```

Будет преобразована в корректные поля Albireo CMS:

<?php if (!defined('BASE_DIR')) exit('No direct script access allowed');
/**
поля
**/
?>

При необходимости в полях md-файла можно указать имя страницы, вместо текущего имени файла. Это актуально для случаев, когда нужно использовать другое имя файла для сервера/сайта. В том случае используется поле page-on-website:

```albireo
page-on-website: my-page

title: Заголовок
... и т.д.
```

Текст страницы.

При загрузке этого файла, Albireo CMS автоматически прочтёт это поле и создаст файл my-page.php.

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

page-on-website: моя страница

То система создаст файл moya-stranicza.php.

Изображения для md-файла

Если md-статья имеет изображения, то вы можете их загружать как обычно в Obsidian в папку attachement. Тогда в md-файле их адреса будут такого вида:

![](attachement/file.webp)

После загрузки md-файла вхождение attachement/ будет автоматически заменено на значение поля images-dir. Например исходный md-файл:

...
images-dir: [UPLOADS_URL]2026
image-large: attachement/file.webp
...

![](attachement/file.webp)

После загрузки (php-файл на сервере) станет так:

...
images-dir: [UPLOADS_URL]2026
image-large: [UPLOADS_URL]2026/file.webp
...

![]([UPLOADS_URL]2026/file.webp)

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

Для загрузки изображений в Albireo CMS следует перейти на страницу «Images» и через форму «Upload files to server ...» загрузить файлы на сервер. В нашем примере это uploads/2026/file.webp.

Обратите внимание, что в этом случае файл изображения должен быть «webp». Если у вас другой формат, то преобразовать можно с помощью например FastStone.

При необходимости можно скрыть albireo-блок в Obsidian при просмотре страницы. Для этого добавьте css-сниппет: pre.language-albireo {display: none;}.