Главная > --//-- > Система модулей

Система модулей


Система модулей служит для добавления новых возможностей в систему, все модули являются потомками класса "ModuleSettings" и находятся в папке "D:\Prog\OSPanel\domains\1help.datacms.ru\engine\modules\" (фронтенд) и "D:\Prog\OSPanel\domains\1help.datacms.ru\admin\modules\" (бэкенд). У некоторых модулей папка в "D:\Prog\OSPanel\domains\1help.datacms.ru\admin\modules\" может отсутствовать, например, у модулей "advancedbbcodes" и "archives". Для хранения настроек модуля используются сериализованные данные в файлах "settings.dat.php" (только настройки) и "settings_adm.dat.php" (класс модуля, используется в бэкенде), этим достигается высокая скорость работы с конфигурацией даже при большом количестве параметров модуля. Модуль может состоять только из одного исполняемого PHP файла, например, "opengraph" (Микроразметка Open Graph).

Форма настроек модуля

Система управления берет на себя большую часть работы с конфигурацией модуля, например, для добавления элемента типа "radio" в форму настроек в модуле достаточно прописать код вида:

//добавление в "cfg" (массив с параметрами конфигурации модуля)
$module_sett->set('cfg|use_metafields_on', 1);
....
//добавление в "ff" (массив с элементами формы для настройки модуля)
$module_sett->set('ff|use_metafields_on', array(
	'title' => 'Использовать мета-параметры',
	'label' => array('Да', 'Нет'),
	'hint' => 'Если включено - в разметке будут использоваться значения мета-параметров.',
	'type' => 'radio',
	'value' => array(1, 0),
));

Разберем на данном примере поля добавляемого массива,

Возможные типы элементов (поле "type")

Если в форме настроек нужно вывести элемент другого типа или произвольный HTML код используется файл с окончанием "tmpl.blocks.php" в папке модуля в папке "admin", например - "D:\Prog\OSPanel\domains\1help.datacms.ru\admin\modules\mediaelementjs\mediaelementjs.tmpl.blocks.php" и "D:\Prog\OSPanel\domains\1help.datacms.ru\admin\modules\linkedpolls\linkedpolls.tmpl.blocks.php".


Вернуться назад