Руководство Melbis Shop: оглавление
Раздел engine_php_* работает с PHP-файлами магазина двух
видов:
index.php и другие
.php в корне сайта;units/<имя>.php.Шаблоны модулей — .htm в группах шаблонов — это раздел
engine_html_*.
| Часть | Где лежит | Чем меняется |
|---|---|---|
| код | units/<модуль>.php |
engine_php_load, engine_php_save |
| манифест | units/<модуль>.json |
параметр manifest у engine_php_save |
| шаблоны | templates/<группа>/units/<модуль>/*.htm |
engine_html_* |
units/ — плоский список: модуль лежит прямо в нём, без
подпапок.
Библиотека — модуль, который подключают другие
модули; своих шаблонов у неё нет. Библиотекой движок считает модуль, у
которого второе слово имени inc или include
(melbis_inc_auth), или в имени нет подчёркивания. Такому
модулю engine_php_add не создаёт папок в группах
шаблонов.
engine_php_load отдаёт манифест модуля объектом с
ключами, а engine_php_save принимает объект с теми же
ключами. Как устроены модули и кеш — «Модульные скрипты» и «Кеширование».
| Ключ | Что задаёт |
|---|---|
unit_info |
описание модуля для подсказок в программе |
param_info |
входные параметры модуля: id: int, key: str. У
библиотеки — публикуемые короткие имена, по которым движок сверяет
use |
table_info |
таблицы, от которых зависит кеш: store=1\|log=0. Список
ведёт движок по запросам модуля, разработчик только снимает таблицу —
log=0 |
includes |
подключённые библиотеки: melbis_inc_logic.php=1 |
cache_on, cache_time |
базовый кеш: включён ли, пауза обновления в минутах |
lazy_load |
отложенная загрузка |
ajax_load |
модуль — точка входа: его можно запустить напрямую из корневого скрипта |
trick_on, trick_load_idx,
trick_load_max, trick_comp_max,
trick_time_max |
Trick-кеш: включён ли, интервал и предел нагрузки сервера, предел времени сборки страницы в секундах, наибольшая давность кеша в минутах |
smart_on, smart_load_idx,
smart_load_max, smart_comp_max |
Smart-кеш: включён ли, интервал и порог нагрузки, порог времени сборки страницы в секундах |
В самом файле .json четыре поля называются иначе:
unit_info — description,
param_info — parameters,
table_info — tables, ajax_load —
entry_point. Инструменты говорят именами из таблицы.
engine_php_add.