内容模型插件


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


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

如果插件有不满足需求的控件,可以自己扩展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']);



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

评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发布插件

七牛专享优惠码

507670e8

ThinkCMF教程


ThinkCMF 8.0.0发布啦!祝大家节日快乐! 立即体验!