digitalwand/digitalwand.admin_helper

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

安装次数: 32,394

依赖: 3

建议者: 0

安全性: 0

星级: 156

关注者: 36

分支: 52

开放性问题: 17

类型:bitrix-module

2.1.0 2016-06-10 10:34 UTC

This package is not auto-updated.

Last update: 2024-09-11 11:04:52 UTC


README

Bitrix中自定义管理界面的API

模块文档可在以下地址找到:http://api.digitalwand.ru/admin_helper/。也可以在模块代码的注释中阅读。

博客中有一篇很好的介绍文章:Bitrix管理员助手生成器

一个简单的示例实现作为独立模块提供:demo.adminhelper

概念

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

由于存在用于对实体进行CRUD操作的统一API,因此只有实现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:包含如果为模块创建了自定义控件,则包含控件的目录。
  • -- classes/model:包含如果需要重定义标准功能getList等,则包含模型的目录。

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

开发者