Maksoft.net

Блоковете в страница са независими части информация, преместваеми в рамките съдържанието на всяка страница, които позволяват вграждането и позиционирането на отделни функционалности и части информация в различните редактируеми елементи на страницата. 

Как работи модул page blocks:
При рендериране на страница:

  1. Зареждаш всички block_type_id, използвани за съответната страница.

  2. Проверяваш дали block_types.css_include и/или js_include са попълнени.

  3. Добавяш уникалните зависимости в и в края на

Модул page blocks включва:

📊 Таблица 1: page_blocks

Съхранява съдържанието на използваните блокове по страници

Поле Тип Описание
blk_id INT AUTO_INCREMENT Уникален идентификатор на блока
site_id INT NOT NULL Номер на сайта (за мултисайт поддръжка)
page_n INT NOT NULL Номер на страницата (0 = глобален блок)
lang_id INT DEFAULT 0 Езиков ID (0 = за всички езици)
block_type_id INT NOT NULL Връзка към block_types
block_data TEXT JSON съдържание на блока (конфигурация + съдържание)
sort_order INT DEFAULT 0 Подредба в страницата
is_active TINYINT DEFAULT 1 Активен/неактивен блок
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP Създаден на
updated_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP Последно променен

📊 Таблица 2: block_types

Дефинираме типовете блокове, които ще използваме в CMS. 

  • В block_types всеки тип дефинира своите нужни CSS/JS като уникални низове (или маркери).

  • При рендериране на страницата, CMS-ът събира нужните зависимости, премахва дублираните, и ги вмъква само веднъж.

Описва възможните типове блокове, шаблоните им и зависимостите

Поле Тип Описание
block_type_id INT AUTO_INCREMENT Уникален ID на типа
code VARCHAR(50) Кратък уникален код (напр. text, hero)
title VARCHAR(100) Име на типа за потребителя
description TEXT Обяснение на типа
icon_class VARCHAR(50) Bootstrap икона
editable_via_content TINYINT DEFAULT 0 Може ли да се редактира с ContentTools (1 = да)
css_assets TEXT Ключове към cms_assets.php, разделени със запетая
js_assets TEXT -- Уникални JS зависимости, напр. "bootstrap5,jquery"
css_include TEXT Inline CSS, специфичен за този блок
js_include TEXT Inline JS, специфичен за този блок
admin_form_type VARCHAR(50) DEFAULT 'default' Тип на формата в админ (напр. countdown, email_field)
admin_form_config TEXT JSON конфигурация за UI на админ формата

📁 PHP файл: cms_assets.php+

е в директория Templates/ и се include-ва във всеки Template заедно с meta_tags.php


Начало /  /  / Документация / Блокове в страница (page_blocks)
Максофт.БГ Максофт.НЕТ BrandIT