自定义后台表单(仅后台使用): 内容管理,表管理,表字段配置,灵活的自定义字段配置列表显示搜索控件编辑控件等。
说明:第一次使用请阅读完下面文档,第二次就会快很多了而且很轻松。
如果插件有不满足需求的控件,可以自己扩展4个Form类里的方法来实现(ControlForm/EditForm/ListForm/SearchForm)。
如果项目需求与插件有小部分的不满足,可以通过: 新建控制器-继承插件控制器-重构方法,来实现您的特殊需求。
===========前端调用说明:
<br/><br/>---单个调用示例---<br/><br/>
<php>
//$data = (new plugins\modules\model\ContentModel())->getList($modules_id, $level=0, $where=[], $cache=0); //换成自己的参数
</php>
<br/><br/>---多个个调用示例---<br/><br/>
<php>
//$datas = (new plugins\modules\model\ContentModel())->getLists($modules_id, $level=0, $where=[], $page=1, $limit=1, $cache=0); //换成自己的参数
</php>
参数说明:
modules_id(模块拼音或者ID),
level(查询的关联级别:0表示只查主表,1表示查主表和一对一关联的所有表数据,2(默认)查所有模块表数据)
where (查询条件,数组形式,跨表查询时,字段需要带上表名或表拼音)
page/limit 分页/页条数
cache 缓存列表过期值,单位秒,默认不缓存。
说明: 标签调用兼容性不好,这样直接调用虽然丑了点,但兼容性好些,更直观。
===========功能界面展示:
字段配置:
字段配置(自定义):
字段管理
内容列表编辑:
使用须知:
使用时需明白的几个概念: 1、先建立一个模块: 可选择自带的4张示例文章模型, 每个模块可以添加无限张表, 每张表用表名规则绑定一起, 一个模块必须有一张主表, 表之间的关联关系:不关联(0)、一对一(1)、一对多(2) 2、内容模型之表管理: 可以对表做跟数据库类似的基本简单操作,添加删除修改字段等。 也仅仅只是对表的管理,跟其它无关。 3、内容模型之字段操作配置: 根据建立好的字段,配置后台的显示列表、搜索from控件、编辑控件等操作。 其中编辑控件部分需要配置,如,有复选框值配置格式:0:隐藏,1:正常,2:推荐 4、以上步骤配置好后: 会在某个菜单下生成一个为模块名的新菜单, 现定(内容管理)菜单下,此菜单可随意移植到其它地方,如未生成,请清空缓存后再试。 配置表单有默认60秒的缓存,配置后检查不生效时记得“清空缓存”。 插件表说明: 核心表: 模块-列表:cmf_plugin_modules 模块内部表-列表:cmf_plugin_modules_tables 资源表: 城市表:cmf_plugin_modules_citys 用于Form控件选择城市 内容表: 该表由模块内生成或新建,无法确定表名。但都有一个统一的规则,如:cmf_item_{模块的拼音}_{表的拼音},其中cmf_item_{模块的拼音}为模块的主表 ============================================================================ simplewind/cmf/common.php 里加入函数: /** * PHP 5.5以前不支持array_column函数 */ if (!function_exists('array_column')) { function array_column($input, $column_key=null, $index_key=null) { $result = array(); $i = 0; foreach ($input as $v) { $k = $index_key === null || !isset($v[$index_key]) ? $i++ : $v[$index_key]; $result[$k] = $column_key === null ? $v : (isset($v[$column_key]) ? $v[$column_key] : null); } return $result; } } ============================================================================================= 移出内容管理菜单说明(菜单唯一规则增加param): /app/admin/validate/AdminMenuValidate.php 的protected属性里: $rule里的'action'增加'param'。如'require|unique:AdminMenu,app^controller^action' 修改成'require|unique:AdminMenu,app^controller^action^param' $scene里的'add'增加'param'。如 ……,'action', 'parent_id'] 修改成……,'action', 'param', 'parent_id'] $scene里的'edit'增加'param'。如 ……,'action', 'parent_id'] 修改成……,'action', 'param', 'parent_id'] 部分thinkcmf5版本,菜单参数缺少问号BUG: \app\admin\model\AdminMenuModel.php(126行) 原 $params = htmlspecialchars_decode($a['param']); 改成 $params = ($a['param']{0} == '?' ? '' : "?") . htmlspecialchars_decode($a['param']);
ThinkCMF模板插件交流群:550851374 ,领取阿里云1000通用代金券