Поля в создаваемых модулях Host CMS 5

Система управления сайто HostCMS 5В руководстве по разработке модулей для системы управления сайтом HostCMS 5 нет описания всех типов полей, которые можно использовать для создания административной части. Если поискать в этом документе параменты, которые отвечают за отображение поля, то можно найти только: 0 – это поле ввода, 2 – выпадающий список, 4 – скрытое поле, 5 – поле ввода и всё. Да и то не совсем понятно, чем поле ввода 0 отличается от 5-ти. Давайте разберемся со всеми типами полей которые потребуются при разработке модулей для Host CMS 5.

Почти два месяца назад, мы рассматривали все константы, которые используются в этой CMS, теперь пришло время рассмотреть типы полей. Обратите внимание, что в версии Host CMS начиная с 5.9.23 — произошло изменение в структуре модулей. Поменялся принцип создания скрытого поля с идентификатором создаваемого объекта и в обработчиках кнопок форм JavaScript функция doSendForm() заменена на функцию SendForm().

Типы полей при работе с панелью администрирования

0 – тестовое поле, строка с максимальный количеством символов 255;
1 – чекбокс (галочка), type=checkbox;
2 – выпадающий список;
3 – нечего не отображается, если вы каким-то образом использовали это поле, напишите пожалуйста в комментариях (возможно это список с множественным выбором). По факту тип поля 3 зарезервирован для разделителя;
4 – скрытое поле, не отображается и в коде страницы не выводится;
5 – большое текстовое поле;
6 – текстовое поле стока, для паролей type=password;
7 — большое текстовое поле с визуальным редактором (WYSIWYG);
8 – текст сообщения, где заголовок – это название формы, а содержание обертывается в div и выводится как обычный текст, который из админки не редактируется;
9 – поле для прикрепления файла или изображение (большого, малого);
10 – поле дата (число, месяц, год) с выплывающим календарем;
11 – поле дата (число, месяц, год, часы, минуты, секунды) с календарем;
12 – рейтинг отображается в виде звезд (от 1 до 5);
13 — радиогруппа;
14 — компонент импорта из CSV-файла;
15 — как есть. Используется при необходимости добавить в форму HTML-код.

Почти все виды полей $param[‘type’] которые используются для для создания новых модулей в HostCMS 5 или редактирования / доработки уже существующих приведены на скриншоте ниже. Надеюсь вам будет полезен данный материал, и он сэкономит немного времени при расширении функционала своего сайта.

Поля в создаваемых модулях Host CMS 5

Например, для модуля интернет-магазина на базе которого разрабатывают магазины и доски объявлений Host CMS так же использует эти типы полей. С этим можно ознакомиться на демо-коде, приведеном ниже:

// Название
$param = array();
$param['tab_id'] = $tab_id;
$param['name'] = 'items_catalog_name';
$param['caption'] = $GLOBALS['MSG_shops']['items_catalog_add_form_name'];
$param['type'] = 0; // поле ввода
$param['value'] = $items_catalog_name;
$param['attributes']['class'] = 'large';
$param['format']['minlen']['value'] = 1;
$param['format']['maxlen']['value'] = 255;
$admin_forms_fields->AddField($param);

// Артикул
$param = array();
$param['tab_id'] = $tab_id;
$param['name'] = 'items_catalog_marking';
$param['caption'] = $GLOBALS['MSG_shops']['items_catalog_add_form_marking'];
$param['type'] = 0; // textbox
$param['value'] = $items_catalog_marking;
$param['format']['maxlen']['value'] = 50;
$param['div_attributes']['style'] = 'float: left;';
$admin_forms_fields->AddField($param);

// Группа
$param = array();
$param['tab_id'] = $tab_id;
$param['name'] = 'shop_groups_parent_id2';
$param['caption'] = $GLOBALS['MSG_shops']['items_catalog_add_form_group'];
$param['type'] = 2; // выпадающий список
$param['items'] = array ('...') + GetDelimitedGroups(0, $aGroupsTree, '', false);
$param['value'] = $shop_groups_parent_id;
$param['div_attributes']['style'] = '';
$param['attributes']['style'] = 'width: 320px; float: left;';
$param['apply_filter'] = true;

// Дата
$param = array();
$param['tab_id'] = $tab_id;
$param['name'] = 'shop_items_catalog_date_time';
$param['html_id'] = 'shop_items_catalog_date_time';
$param['caption'] = $GLOBALS['MSG_shops']['catalog_item_date'];
$param['type'] = 11; // date-time
$param['value'] = $shop_items_catalog_date_time;
$param['format']['maxlen']['value'] = 255;
$param['div_attributes']['style'] = 'float: left; margin-top: 5px';
$admin_forms_fields->AddField($param);

// Изображение группы
$param = array();
$param['tab_id'] = $tab_id;
$param['name'] = 'items_catalog_image';
$param['caption'] = $GLOBALS['MSG_shops']['items_catalog_image'];
$param['type'] = 9; // file

Поля в создаваемых модулях Host CMS 5: 3 комментария

  1. Спасибо, как раз думаю заняться разработкой модуля, для одного сайтика на Host CMS 5-ой версии. Конечно сейчас вышла уже 6-ая версия, но у многих ещё старая версия хорошо работает.

    • Спасибо за внесение конкретики с admin_forms_fields::AddField

      3 — Зарезервировано для разделителя.
      13 — Радиогруппа.
      14 — Компонент импорта из CSV-файла.
      15 — Как есть. Используется при необходимости добавить в форму HTML-код.

Добавить комментарий для Семен Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*