Создание инфоблока при установке модуля Битрикс. Битрикс создание модуля


Создание своего модуля для Битрикс

Начнем с главного вопроса: что надо сделать, чтобы создать свой модуль в БУС? Как это ни странно будет звучать, но практически ничего. Посмотрев раздел «Управление модулями» в Битрикс SDK мы обнаружим, что формально для описания своего модуля нам понадобится всего три файла:

«/include.php»

«/options.php»

«/install/index.php»

Не так много работы, верно? Тем не менее, в этой статье мы постараемся дать более широкие требования к оформлению модуля. Во-первых, это даст более точное представление о том, что нам придется каждый раз делать при создании своих модулей, а во-вторых, позволит делать эти модули максимально похожими на стандартные, что упростит потом их поддержку и развитие. Забегая вперед, мы можем показать дерево каталогов внутри нашего модуля гостевой книги:

Рис. 1. Дерево каталога модуля гостевой книги.

Коротко опишем, для чего понадобятся те, или иные каталоги.

«Classes/general» понадобится для описания класса CIX_Guestbook, который будет регулировать роли пользователей.

Раздел «/Help» будет содержать пользовательскую документацию и справку для разработчиков.

Каталог «install» понадобится нам для описания класса ix_guestbook, который как раз и будет заниматься регистрацией модуля в БУС. Он же зарегистрирует шаблоны для почтовых нотификаций, описанных в разделе «/install/events/».

В каталоге «/install/templates» мы опишем компоненты для использования нашей гостевой книги в визуальном HTML-редакторе.

Особое внимание обратим на каталог «/install/lang/». Обычно возникают определенные трудности с пониманием, куда и какие константы класть. Например, если мы хотим, чтобы русские константы были доступны внутри файла «/bitrix/modules/ix_guestbook/install/templates/ix_guestbook/index.php»

надо было создать файл

«/bitrix/modules/ix_guestbook/install/templates/lang/ru/ix_guestbook/index.php».

Для создателей БУС это вполне очевидно, а для нас, увы, оказалось нет. Теперь перейдем к подробностям.

mybitrix.blogspot.com

Добавление компонента в модуль Битрикс

Если вы не знаете как добавить компонент в свой модуль под Битрикс или знаете, но делаете это вручную, то оцените как просто это сделать в данном Конструкторе модулей.

Во-первых, вы можете импортировать компонент в модуль просто загрузив zip-архив с компонентом. То есть, если у вас есть готовый компонент, или вы внесли изменения в компонент, который уже включён в модуль, вам не нужно ничего заполнять или настраивать на сайте, можно просто положить компонент в модуль. Сервис автоматически распакует архив и подставит нужные данные в нужные формы, и вы сможете сразу же после импорта работать с компонентом на стороне конструктора.

Форма импорта компонента в конструктор модулей

Во-вторых, в случае когда у вас нет готового компонента, вы можете очень быстро создать его прямо на сайте с нуля, поскольку для компонентов в нашем сервисе есть свой мастер создания. Подробнее о нём в статье "Создание компонента Битрикс с нуля". Кстати, вы можете использовать этот компонент даже вне модуля. И это ещё один из вариантов использования данного конструктора.

Форма создания компонента в конструкторе модулей

В конце обоих сценариев у вас есть компонент (или несколько компонентов), которые включены в модуль. Что это значит в Конструкторе модулей? Это значит, что при установке вашего модуля на сайт клиента, компонент автоматически установится в своё пространство имён и будет готов к работе.

Как вы видите, всё максимально просто! Не нужно писать код установки компонента, создавать своё пространство имён, перекидывать папку с компонентом из модуля в ядро. Вы просто за считанные минуты добавляете ваш компонент в ваш модуль.

Вы можете и сами сейчас бесплатно создать модуль, который будет устанавливать ваш компонент на сайты на Битриксе. Попробуйте!

modules-constructor.ru

Часть 2. Создание своего модуля для Битрикс :: Управление сайтом

Начнем с главного вопроса: что надо сделать, чтобы создать свой модуль для Битрикс? Как это ни странно будет звучать, но практически ничего. Посмотрев раздел «Управление модулями» в Битрикс SDK мы обнаружим, что формально для описания своего модуля нам понадобится всего три файла:

«/include.php»

«/options.php»

«/install/index.php»

Не так много работы, верно? Тем не менее, в этой статье мы постараемся дать более широкие требования к оформлению модуля. Во-первых, это даст более точное представление о том, что нам придется каждый раз делать при создании своих модулей, а во-вторых, позволит делать эти модули максимально похожими на стандартные, что упростит потом их поддержку и развитие. Забегая вперед, мы можем показать дерево каталогов внутри нашего модуля гостевой книги:

Рис. 1. Дерево каталога модуля гостевой книги.

Коротко опишем, для чего понадобятся те, или иные каталоги.

«Classes/general» понадобится для описания класса CIX_Guestbook, который будет регулировать роли пользователей.

Раздел «/Help» будет содержать пользовательскую документацию и справку для разработчиков.

Каталог «install» понадобится нам для описания класса ix_guestbook, который как раз и будет заниматься регистрацией модуля в БУС. Он же зарегистрирует шаблоны для почтовых нотификаций, описанных в разделе «/install/events/».

В каталоге «/install/templates» мы опишем компоненты для использования нашей гостевой книги в визуальном HTML-редакторе.

Особое внимание обратим на каталог «/install/lang/». Обычно возникают определенные трудности с пониманием, куда и какие константы класть. Например, если мы хотим, чтобы русские константы были доступны внутри файла

«/bitrix/modules/ix_guestbook/install/templates/ix_guestbook/index.php»

надо было создать файл

«/bitrix/modules/ix_guestbook/install/templates/lang/ru/ix_guestbook/index.php».

Для создателей БУС это вполне очевидно, а для нас, увы, оказалось нет. Теперь перейдем к подробностям.

www.info-expert.ru

Работа с настройками модуля Битрикс

В Битриксе есть возможность создавать настройки у модулей, чтобы работа модуля могла подстраиваться под нужды конкретного сайта. Если вы уже какое-то время работаете с Битриксом, то наверняка пользовались ими, как минимум у стандартных модулей. Ниже пример настроек главного модуля Битрикс.

Настройки главного модуля Битрикса

Когда вы разрабатываете свой модуль, то практически всегда вам нужно добавлять такой вид управления в своё решение. Но если вы уже работали с этой страницей или только подступаетесь к её созданию, то знаете, что создать страницу настроек не самая простая задача.

Во-первых, очень много лишнего кода. На выходе вам нужно всего лишь получить форму, где есть какие-то поля, переключатели, кнопки. Но для этого вы пишете десятки строчек кода для получения текущих настроек, подключения скриптов, вывода формы, и тому подобного. В то время как смысловую нагрузку несут лишь строчки, где описаны сами поля настроек: их название, код, тип.

Вторая проблема - это вёрстка админки Битрикса. Иногда вы обязаны использовать его html-классы, табличную вёрстку к тому же Битрикс сам подправит структуру файла перед выводом. Эти не очень очевидные и приятные в работе вещи, о которых не хотелось бы думать, тем более что они не служат конечной цели напрямую.

Третья проблема - ланг-файлы. Вы наверняка знаете, что вы должны убирать любые надписи внутри модуля в специальные ланг-файлы, а саму надпись заменять на ключ из массива $MESS, иначе их кодировка поломается и их будет не прочитать. Делать это довольно неудобно, нужно создать ланг-файл, заполнить в нём массив, подключить файл на странице, заменить фразу на код вызова из ланг-массива.

Но мы вывели работу с настройками модулей на новый уровень, где нет всех этих проблем.

Как работать с настройками модулей в конструкторе?

Невероятно легко и просто!

Вы просто "мышкой" указываете название свойства, его код, тип, дополнительные свойства.

Работа с настройками модуля в конструкторе

И вообще ни строчки кода. Вам нужно строковое поле? Создайте строковое поле. Решили сделать его списковым? Просто поменяйте тип и заполните варианты значений.

Кстати, задавать значения для списков тоже невероятно просто, вы можете увидеть это на скрине ниже. Как вы могли заметить, можно даже задавать "динамические" значения, наподобие, списка инфоблоков.

Задание вариантов значений настройки типа список

Резюме

Наш сервис даёт возможность не мучаться со страницей настроек модуля, не думать о том, какие типы полей возможны, как задавать их значение, и вообще не писать ни строчки кода для этой страницы. Сильно ускоряя и упрощая работу над модулем в целом.

Вы можете попробовать создать настройки для своя модуля бесплатно прямо сейчас.

Дополнительно

А вот так можно получить значение настройки в коде сайта:

COption::GetOptionString({код модуля}, {код настройки})

modules-constructor.ru

Создание инфоблока при установке модуля Битрикс

Если ваш модуль использует инфоблок(и), значит вам нужно как-то создавать их при установке модуля и соответственно удалять его деинсталляции.

Наш сервис позволяет настроить это невероятно просто. Вам не нужно писать миграции и выделять языковые фразы в lang-файлы самому. Вы просто создаёте инфоблок с нужными настройками, разделами и элементами на формах конструктора, практически так же как вы бы делали бы это в админке Битрикса. И сервис сам напишет все миграции, поставит нужные вызовы кода в нужном порядке и уберёт языкозависимые фразы в ланг-файлы.

Просто посмотрите на некоторые скриншоты форм или попробуйте создать инфоблок для своего модуля самостоятельно и убедитесь насколько лёгким и быстрым может быть процесс написания подобной миграции.

Кнопка добавления инфоблокаРедактирование инфоблокаРедактирование вкладки полей инфоблока
Добавление свойства инфоблокаФорма добавления элемента инфоблокаДобавление раздела инфоблокаЭлементы и разделы инфоблока

Более того, если вы хотите добавить в модуль уже созданный на каком-либо сайте инфоблок, вы можете просто импортировать xml-файл выгрузки из Битрикса в наш сервис.

Форма импортирования инфоблока

modules-constructor.ru

Модуль Битрикс : настройка и оптимизация

Чем же так популярен модуль Битрикс настройка и оптимизация ?В интернете довольно просто найти необходимые инструкции для создания пользовательских компонентных модулей в том числе и на платформе Битрикс , к сожалению, в них не затрагивают другие важные темы. А ведь они могли бы улучшить навыки разработчиков , да и в целом положительно сказались на общем коде под Битрикс .

Можно бесконечно дискутировать по поводу самого Битрикса и его решений , но он не зря пользуется определенным успехом, а самим разработчикам необходимо получить нужные знания. Примером для них станет модуль шуточного характера под названием “Почта России”, который настроен и оптимизирован таким образом, запрещает процесс редактирования элементов инфоблоков в субботу и воскресенье, а также на протяжения обеда.

Методика данного модуля решение заключается в использовании хэндлеров, позволяющих ловить и блокировать события редактирования элемента. Чтобы наш функционал мог использоваться на любом сайте, необходимо будет обернуть хэндлеры в модуль Битрикс.

Данный способ будет очень полезен во многих случаях:

Создадим модуль Битрикс «Почта России» настроем и оптимизируем

  1. Процесс создания решения на Битрикс начинается довольно просто. Для того, чтобы создать функцию, блокирующую процесс редактирования в определенные временные промежутки, необходимо задействовать специальные функции-обработчики, как например OnBeforeIBlockElementAdd.
  2. Чтобы понять принцип настройки действия и оптимизации , нужно попробовать вынести надпись в настройки данного модуля Битрикс . Для нашей функции необходимо задействовать специальный класс для хранения настроек модуля. Перед тем как написанный код обернуть в компонент, в нём необходимо выделить настройки.
  3. Второй этап заключается в создании заготовки решения Битрикс . Для этого необходимо создать папку, путь к которой будет выглядеть так - bitrix/modules. В ней и будет располагаться папка модуля -russianpostjoke. Теперь необходимо наделить модуль функционалом. Теперь нужно создать cBlocker-класс, который должен размещаться в в созданной нами папке, где и будет внедрен хэндлер. Для него должна быть отдельная /classes/-папка, которая будет внутри russianpostjoke-папки.

Наполнение модуля требует прописывания установок с помощью файла index.php. Чтобы внедрить и привязать хэндлер cBlocker-класса, нужно задействовать функцию RegisterModuleDependences. После этого нужно оповестить систему о проведенной установке, в чем понадобится регистрационный модуль. Последней частью этапа является вывод оповещения пользователю. Результатом проделанной работы станет новый модуль в разделе управления.

Если по окончании предыдущего этапа зайти в административную панель, то там ничего не будет. Для создания нужной нам страницы понадобится options.php. Но у данного файла есть как положительные, так и негативные стороны. Первые заключаются в том, что вам уже не нужно ничего делать, благодаря использованию готовых наработок. Негативный фактор подразумевает всех настроек именно с помощью options.php. Финальным штрихом в создании модуля станет создание настроек WE_ARE_CLOSED_TEXT-поля, использованного нами в первом пункте.

Таким образом, мы рассмотрели создание самого простого Битрикс модуля его настройку и оптимизацию , о котором, при желании можно написать еще несколько статей, способных улучшить навыки разработчиков во владении данной программой.

5 предыдущих статей

Отзывы
Без хостинга Виртуальный хостинг Мак-10 Виртуальный хостинг Мак-15
Написать отзыв

dwstroy.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта