nook-ru/admin_helper_lib

Bitrix中自定义管理界面的API,由DigitalWand和Notamedia代理提供

2.1.3 2021-11-02 13:06 UTC

README

travis-ci

用于在Bitrix中构建自定义管理界面的API。

作为库版本,旨在在自定义模块中使用。路由应由客户端模块提供,例如,请参阅完整版本中的admin/route.php

模块文档可通过http://api.digitalwand.ru/admin_helper/获取。也可以在模块代码的注释中阅读。

在博客中有一篇很好的介绍文章:Bitrix管理界面生成器

一个简单的示例模块实现为demo.adminhelper

概念

该模块实现了MVC模式以创建管理界面。

通过存在一个统一的API来执行CRUD操作,因此只能使用实现Bitrix ORM API的类来构建管理界面。如果希望为不使用Bitrix ORM的实体使用该模块,可以准备一个包装类,实现所需的功能。

模块的主要概念

  • 模型:MVC术语中的“model”。继承自DataManager或实现类似API的类。
  • 助手:MVC术语中的“view”。实现列表界面或详细页面渲染的类。
  • 路由器:MVC术语中的“controller”。接收模块管理界面的所有请求的文件,创建具有所需设置的助手。您无需直接与它交互。
  • 小部件:MVC术语中的“delegate”。负责渲染实体单独字段的控件类。在列表和详细页面中。

使用模块的方案如下

  • 实现AdminListHelper类以管理元素列表页面
  • 实现AdminEditHelper类以管理元素查看/编辑页面
  • 创建一个名为Interface.php的文件,在其中调用AdminBaseHelper::setInterfaceSettings(),并传递管理界面的字段配置和用于构建它的类。
  • 如果内置小部件的功能不足,可以实现自己的小部件,它继承自任何其他现成的小部件或抽象类HelperWidget。

推荐模块文件结构

  • 目录admin。只需在其中放置文件menu.php,不需要为列表和详细页面创建单独的文件,因为有一个统一的路由。
  • 目录classes(或lib):包含模型、视图和代理的类。
  • -- classes/helper:包含继承自AdminListHelper和AdminEditHelper的“view”类的目录。
  • -- classes/widget:包含小部件(“delegate”),如果为模块创建了小部件。
  • -- classes/model:目录包含模型,如果需要重定义标准函数getList等的行为。

使用此结构不是必需的,这只是基于在多个项目中成功应用模块的经验的建议。

开发者