Albireo CMS 2025.02.19

Главная страница сайта в Albireo CMS

Главная страница сайта это страница, где указано:

slug: /

Обычно это файл home.php.

Главная страница может иметь разное назначение. Она может быть лендингом и таким образом будет выводиться её текст. В случае же типового блога, главная — это архивная страница, которая выводит другие страницы.

Другие архивные страницы: метки, рубрики, карта сайта и т.п.

Для того, чтобы выводить другие записи, следует использовать php-код.

«Типовой» вариант для блога — это вывод всех записей в обратном хронологическом порядке. Для этого можно самостоятельно написать php-код получения и вывода записей, а можно воспользоваться уже готовым файлом вывода.

Для этого в файле конфигурации используйте опции:

    // файл/модуль вывода главной / каталог шаблон/modules/*
    'homeOutputModule' => 'home/home1.php', // home/home2.php

    // количество записей на одной странице пагинации — может использоваться в модуле вывода
    'homeLimitPagination1' => 7, // короткий вывод
    'homeLimitPagination2' => 10, // длинный вывод

Файлы вывода размещаются в каталоге шаблона modules/home. Есть два готовых варианта вывода и один демо-пример для сложного вывода по рубрикам. Модульный файлы просто хранят уже готовый php-код.

Ели же нужно изменить вывод главной (да и вообще любой другой архивной страницы), то реализуется это так:

// записи с type: blog
$files = getPagesField('type', 'blog'); 

// сортировка: новые вверху
$files = sortArray($files, 'date', 'date-desc'); 

// формирование пагинации
$pag = paginationA($files, limit: 7);
$files = $pag['files']; // обрезанный массив по пагинации

// вывод записей
echo tpl(data: $files, tpl: TPL_DIR . 'one-column-3.php'); 

// вывод пагинации
echo tpl(data: $pag, tpl: TPL_DIR . getConfig('pagination', 'pagination1.php'));

Первым действием нужно получить все записи по указанным критериям. В данном случае выводятся все записи, у которых отмечено type: blog. За это отвечает функция getPagesField().

Вторым шагов выполняется сортировка. В данном примере используется поле data и алгоритм сортировки date-desc (по дате в обратном порядке). Если у страницы нет поля data, то она окажется в самом конце списка. Именно поэтому поле даты лучше указывать.

Третий шаг — это формирование пагинации (если она нужна). В ней просто указывается количество записей на одной странице.

После этого подготовленные данные передаются в tpl-шаблонизатор. В параметре функции tpl указывается полный путь к файлу, который непосредственно выполняет вывод данных. Обычно это каталог шаблона website/templates/default/tpl. Для работы с шаблонизатором нужны начальные знания HTML и PHP.

Примеры группировок записей

За непосредственный вывод записей отвечает tpl-файл, который указывается в одноименной функции. В Albireo CMS весть файл-подсказка, который демонстрирует примеры вариантов для главной страницы (или любой другой).

Для этого наберите адрес ваш-сайт/group-samples, где последовательно выводятся блоки группировок.

Посмотреть код вставки можно в файле specific/group-samples.php.