Секции главной: как писать свои

Как писать свои секции для Kuznya CMS: структура файла, подключение, работа с section_items.

Что такое секция

Секция — блок главной страницы. Одна секция = один PHP-файл в /themes/{slug}/sections/. Движок сам собирает главную из включённых секций в нужном порядке.

Как движок находит секции

  1. Сначала ищет в теме: /themes/{slug}/sections/{type}.php
  2. Если не находит — берёт из корня: /sections/{type}.php
  3. Если ни там, ни там — пропускает

Это позволяет клиенту писать только те секции, что нужны, а остальные брать из базового набора.

Пример: своя секция hero

<?php
// /themes/my-theme/sections/hero.php
$title = $settings['hero_title'] ?? 'Заголовок';
?>
<section class="hero">
    <h1><?= htmlspecialchars($title) ?></h1>
</section>

Управление секциями

В админке Контент → Секции главной можно:

  • Менять порядок (перетаскиванием)
  • Включать / выключать
  • Видеть предупреждение, если файла секции нет в теме

Чтение данных из БД

Для карточек внутри секции (Features, Pricing, Screenshots...) используйте функцию getSectionItemsOr($type, $fallback). Она возвращает массив записей из таблицы section_items.