内容模型插件


自定义后台表单(仅后台使用): 内容管理,表管理,表字段配置,灵活的自定义字段配置列表显示搜索控件编辑控件等。


说明:第一次使用请阅读完下面文档,第二次就会快很多了而且很轻松。 

如果插件有不满足需求的控件,可以自己扩展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  缓存列表过期值,单位秒,默认不缓存。


说明: 标签调用兼容性不好,这样直接调用虽然丑了点,但兼容性好些,更直观。



===========功能界面展示:

image.png


image.png

字段配置:

image.png

字段配置(自定义):

QQ图片20180609025336.png

字段管理

image.png

spacer.gif

内容列表编辑:

image.png


使用须知:

使用时需明白的几个概念:
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']);


2019-12-31  :1、修改一些未定义变量的警告提示BUG。 2、显示列表 href [字段] 不生效问题。
2019-09-24 : 1、编辑友好性升级。2、新增多级分类及修复分类BUG。3、修复一对多关联、不关联的相关使用操作和BUG
2019-06-26 : 1、新增前端标签调用。2、字段配置部分样式修改。
2019-04-02 : 1、兼容thinkcmf5.1; 2、增加配置选项的提示; 3、修正快速建表后部分字段提示未存在的BUG; 4、编辑器去掉这行editorcontent.sync(); 5、加入内容控制器60秒的查询缓存。
2018-11-05 :修正添加模块报错BUG。添加模块自带4张表改为可选表/可选字段。增加配置字段时提示功能。
2018-09-07 :增加视频上传控件
2018-08-06 :删除后错误跳转,时间区间控件自动提示挡住选择了
2018-08-01 :增加密码框、修改搜索配置时TP5过滤请求参数会自带空格的BUG
2018-07-18:
增加编辑下拉选择框、图片展示配置值、配置错误跳过判断。
编辑系统元素值时错乱位置。
栏目BUG。
列表显示-增加分类。



ThinkCMF模板插件交流群:550851374 ,领取阿里云1000通用代金券

评论

请登录后查看回复,立即登录
发布插件

七牛专享优惠码

507670e8

ThinkCMF教程


最新福利:领取阿里云双12满减优惠(新老客户均可用)