Расширение функционала Bitrix 24/Модуль: различия между версиями
→Модель БД: 56565 |
→Модель БД: кенн |
||
Строка 87: | Строка 87: | ||
* https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=4803&LESSON_PATH=3913.5062.5748.4803 |
* https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=4803&LESSON_PATH=3913.5062.5748.4803 |
||
* https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2244&LESSON_PATH=3913.5062.5748.2244 |
|||
* https://dev.1c-bitrix.ru/community/blogs/vad/orm.php |
* https://dev.1c-bitrix.ru/community/blogs/vad/orm.php |
||
Версия от 09:46, 26 февраля 2020
Базовая структура модуля для Битрикс описана тут, 1.
Внимание! Модуль необходимо создавать в кодировке windows-1251, при установке его на сайт с кодировкой UTF-8 происходит автоматическая перекодировка. |
Внимание! Директория classes больше не используется, используйте автоподключаемые классы в своем пространстве имен |
Копируем пустой шаблон и добавляем нужные файлы, например .settings.php и .settings_extra.php.
После замены синтаксических плейсхолдеров вида: , можно устанавливать модуль. Для этого нужно перейти по адресу https://bx24_host_name/bitrix/admin/ и авторизоваться в административной части bx24. Установка локальных модулей производится из раздела "Marketplace" -> "Установленные решения".
В файле options.php нужно убрать:
use Bitrix\Main\Text\String;
и заменить
String::htmlEncode
на \Bitrix\Main\Text\HtmlFilter::encode
Добавить:
if (CAutoSave::Allowed()) {
$AUTOSAVE = new CAutoSave();
$AUTOSAVE->Init();
}
Для хранения настроек пользователя используется таблица b_option и файлы настроек по умолчанию, такие как default_option.php. Доступ к настройкам по умолчанию осуществляется через метод getDefaults. Более подробную информацию о хранении настроек можно прочитать тут.
Для размещения своего компонента в пространстве имен Битрикс [|используется копирование] на этапе установки[1]:
public function installFiles() {
// копируем файлы компонентов, которые устанавливаем вместе с модулем;
// пространством имен для компонентов будет имя модуля, т.е. infoblock
CopyDirFiles(
__DIR__.'/assets/components',
Application::getDocumentRoot().'/local/components/'.$this->MODULE_ID.'/',
true,
true
);
}
Расширение API Битрикс
Как добавить в REST API новые методы описано тут.
Создание разделов
Как создавать директории при установке модуля описано тут.
Для вывода табличных данных можно использовать встроенные компоненты и набор JS библиотек.
Модель БД
Таблицы в БД создаются классами производными от DataManager
Типы данных:
EnumField DateField DatetimeField BooleanField TextField FloatField
К таблицам модуля можно обращаться через getList:
$mList = ModuleTable::getList(array(
'select' =>array('ID', 'NAME'),
'order' => array('NAME' =>'ASC'),
'filter'=>array('=CHARSET'=>'Windows-1251'),
));
while($cult = $mList->fetch()) var_dump($cult);
Для выборки одной записи по первичному ключу может применяться метод getById():
$cultureDb = CultureTable::getById($cultureId);
Предусмотрено не только хранение данных как есть, но и их преобразование при выборке:
new Entity\ExpressionField('AGE_DAYS', 'DATEDIFF(NOW(), %s)', array('PUBLISH_DATE') )
Также можно устанавливать отношения между сущностными
- https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=4803&LESSON_PATH=3913.5062.5748.4803
- https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2244&LESSON_PATH=3913.5062.5748.2244
- https://dev.1c-bitrix.ru/community/blogs/vad/orm.php
Обновление модуля
Обновление происходит путем выполнения файла updater.php
- https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=101&LESSON_ID=3218
- https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=101&LESSON_ID=3216
См. также
- Кастомизация bx24
- Пустой WireFrame для модуля Битрикс
- Заготовка модуля Битрикс [1]
- Конструктор модулей
- Все медоды API Битрикс
- Написание модуля на D7+ORM
- 1С:Битрикс пример создания модуля D7
- Модуль 0 обработчики событий