模块参数配置页面

有些模块需要配置有些参数,比如cms模块的话,一般都会有“是否需要审核”、“是否开启评论”等等配置,这些我们可以在模块配置文件先设置好,这里简单演示一下。

模块配置文件

打开我们之前创建的模块配置文件cms\info.php

  1. <?php
  2. /**
  3. * 模块信息
  4. */
  5. return [
  6. // 模块名[必填]
  7. 'name' => 'cms',
  8. // 模块标题[必填]
  9. 'title' => '门户',
  10. // 模块唯一标识[必填],格式:模块名.开发者标识.module
  11. 'identifier' => 'cms.ming.module',
  12. // 开发者[必填]
  13. 'author' => 'CaiWeiMing',
  14. // 版本[必填],格式采用三段式:主版本号.次版本号.修订版本号
  15. 'version' => '1.0.0',
  16. ];

我们增加一些配置信息

  1. <?php
  2. /**
  3. * 模块信息
  4. */
  5. return [
  6. // 模块名[必填]
  7. 'name' => 'cms',
  8. // 模块标题[必填]
  9. 'title' => '门户',
  10. // 模块唯一标识[必填],格式:模块名.开发者标识.module
  11. 'identifier' => 'cms.ming.module',
  12. // 开发者[必填]
  13. 'author' => 'CaiWeiMing',
  14. // 版本[必填],格式采用三段式:主版本号.次版本号.修订版本号
  15. 'version' => '1.0.0',
  16. // 参数配置
  17. 'config' => [
  18. ['radio', 'need_check', '是否需要审核', '发布文章时是否需要审核才能发布', ['1' => '是', '0' => '否'], 1],
  19. ['radio', 'comment_status', '是否开启评论', '是否开启文章评论功能', ['1' => '是', '0' => '否'], 1]
  20. ]
  21. ];

添加了这些配置之后,我们需要一个页面来显示这些配置内容。之前我们建立了一个名为“文章设置”的菜单节点,对应链接是cms/index/config,那么我们在Index控制器创建config方法。

  1. <?php
  2. namespace app\cms\admin;
  3. use app\admin\controller\Admin;
  4. use app\common\builder\ZBuilder; // 引入ZBuilder
  5. class Index extends Admin
  6. {
  7. // 文章列表
  8. public function index()
  9. {
  10. // 使用ZBuilder快速创建数据表格
  11. return ZBuilder::make('table')->fetch();
  12. }
  13. // 文章设置
  14. public function config()
  15. {
  16. // 调用moduleConfig()方法即可,或者使用函数module_config()
  17. return $this->moduleConfig();
  18. }
  19. }

参数配置页面不一定要在index控制,也不一定是config方法,这个大家自己决定,只要在某个可访问的方法调用return $this->moduleConfig();即可,也可以return module_config(),但该控制器必须继承\app\admin\controller\Admin控制器。

接下来,我们回到后台,点击左侧的“文章设置”,就看到模块参数配置页面了。

模块参数配置页面 - 图1

除了可以自己新建模块配置页面,也可以直接在“系统”-“系统功能”-“系统设置”中直接管理。