По созданию модулей для битрикс на функционале ядра D7 информации достаточно мало, за исключением видео с официального канала Битрикс в youtube и нескольких проектов на github.
Но видео как всегда достаточно расплывчаты и имеют очень мало кода для возможности создания модуля с нуля. Проекты на Github содержат очень много лишнего кода, а также очень плохо документированы.
Сразу скажу, что отличий от модулей на старом ядре не так уж и много
Итак начнем:
Структура нашего модуля: создадим директорию и назовем ее "название модуля.ваша компания", например module.bitrix, откроем директорию и создадим внутри еще директории:
admin
install
lang
lib
README.md (в этом файле вы можете описать способ подключения или работы с вашим модулем)
include.php (оставим данный файл пустым, добавив лишь код "<?php")
Admin
В этой директории создаем файл menu.php:
Install
Файл index.php:
файл install.php
Lang
Создаем директорию ru для русского языка
ru
Создадим директории admin,install,lib
файл admin/menu.php
файл install/index.php
файл lib/adress.php (для следующего файла)
Lib
файл lib/adress.php (файл, который формирует таблицу для работы с ней)
Данный модуль - это каркас модуля, у него даже нет интерфейса для работы с пользователем, он не создает компонента, только создает таблицу, в следующих статьях мы создадим модуль создающий компонент по работе с таблицей через rest-api, а также модуль, который будет содержать интерфейс для работы с пользователем включающий возможность редактирования, обновления, создания и удаления записей в таблице.
Наткнулся случайно. Отлично пишешь, думаю для начинающих стоящая статья. Лаконично, без лишнего и по делу. Если бы подобный цикл статей был тогда, когда сам осваивал работу с модулями, упростило бы жизнь :) Спасибо за труд.
Наткнулся случайно. Отлично пишешь, думаю для начинающих стоящая статья. Лаконично, без лишнего и по делу. Если бы подобный цикл статей был тогда, когда сам осваивал работу с модулями, упростило бы жизнь :) Спасибо за труд.
Про lib/adress.php - не очень понятно. Так это языковой файл, или всё таки файл с классом?
Пересмотри еще раз внимательнее. Почему ты решил, что он языковой?
Папка lib - library, файл address. Никаких намеков на язык.
Язык в папке lang.
Спасибо, очень доходчиво объяснил. Сейчас, как нельзя кстати!
Жаль продолжения нет.
Вероятно, массив $arModuleVersion все же должен лежать по пути module.name/install/version.php, а не module.name/install/install.php