Download the PHP package webarchitect609/bitrix-admin-helper-controller without Composer
On this page you can find all versions of the php package webarchitect609/bitrix-admin-helper-controller. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download webarchitect609/bitrix-admin-helper-controller
More information about webarchitect609/bitrix-admin-helper-controller
Files in webarchitect609/bitrix-admin-helper-controller
Package bitrix-admin-helper-controller
Short Description Better controller for `digitalwand/digitalwand.admin_helper` which doesn't require any bitrix-module and silly class naming
License MIT
Informations about the package bitrix-admin-helper-controller
Будьте осторожны: пакет брошен из-за чрезмерной сложности работы с digitalwand/digitalwand.admin_helper
, большого
количества ошибок в последнем и фактической заброшенности.
Замена контроллера пакета digitalwand/digitalwand.admin_helper
, которая позволяет не создавать свой модуль Битрикс
для использования возможностей создания CRUD-страниц своих сущностей в админке.
Будьте осторожны: пока нестабильная версия.
Для использования библиотеки следует:
1 Установить через composer
При этом в bitrix/modules
будет установлен пакет digitalwand/digitalwand.admin_helper . Если требуется, чтобы он был
установлен в local/modules
, добавьте в composer.json
:
2 Следует создать скрипт подключения модуля на основе примера из scripts/admin-helper-controller.php
и подключить его
в файле urlrewrite.php
при помощи правила:
В пути в CONDITION
не используйте уровень ниже, чем /bitrix/admin
, т.к. после добавления в меню и перехода по такому
url все остальные ссылки станут неработоспособными.
3 Первые два уровня в namespace генерируются на основании имени модуля, в котором vendor и package разделяются точкой.
Значит обязательно требуется, чтобы все классы хелперов и визуального интерфейса были определены на третьем и более
уровне, а у хелпера был бы указан $module
из первых двух уровней namespace. При этом имя модуля следует указывать в
том же регистре, в котором определён namespace. В противном случае класс не будет найден, т.к. несмотря на то, что
namespace регистронезависимый, автолоадинг классов происходит в регистрозависимом режиме, т.к. в нём работает файловая
система *nix подобной ОС.
Например,
4 У хелпера должен быть переопределён $routerUrl в соответствии с правилом из urlrewrite.php (см. в примере выше) Подсказка: т.к. статические члены класса не могут быть в обычном смысле переопределены, то рекомендуется использовать константы, чтобы избежать повторений, если используется несколько хелперов.
5 Если в системе существует битрикс-модуль, указанный в $module у хелперов, и требуется его явно подключать, то используйте
При этом перед подключением $module строка будет приведена к нижнему регистру. По-умолчанию попытки подключить модуль не происходит.
6 Имена классов хелперов должны быть составлены по маске
7 Хелперы должны находиться строго на том же уровне, что и интерфейс.
Все описанные ограничения и неудобные правила, которые следует выполнять, вызваны тем, что пакет
digitalwand/digitalwand.admin_helper
написан в том же стиле ложного ООП, что и сам Битрикс, хотя решает очень насущную
задачу.
8 Добавить в мено, зарегистрировав обработчик события main:OnBuildGlobalMenu
и получив URL от хелпера для списка.