最新版本 - CMS模块使用说明

CMS模块从JunAMS v1.1.4版本开始支持,之前的版本暂不支持使用。

1、设计理念

CMS模块是高仿PHPCMS V9写的一个内容管理系统,其主要包含了:
1、项目管理(前端文件目录绑定与切换)
2、数据模型的创建
3、控制器+视图与数据模型间的绑定
4、通过数据绑定自动生成CURD表单
5、后台可直接编辑控制器与视图所对应的代码文件,并可进行修改备份还原
6、使用ThinkPHP5的自定义标签功能,扩展了一个ams:list,实现基本的数据模型查询功能

2、使用流程

1、先到后台【CMS模块】->【项目管理】中,新建一个项目,默认使用【index】项目。
2、双击项目块可以切换系统当前使用的项目,注意:CMS所有功能均会绑定为当前项目。
3、再到后台【CMS模块】->【模型管理】中,创建对应的数据表,例如文章表,我们一般会选择需要创建【附表】,如果是轮播图这类型的数据表,我们则不需要创建【附表】。
同时,模型对应还有一个特殊的属性,就是【模板类型】,该选项默认为【分离模型】,既表示控制器与该数据模型间的每一次绑定,都需要新建一个控制器。
如果是选择为【共用模型】,则只有在第一次关联模型时,才会创建控制器。
4、再点击模型对应的操作按钮,新建数据模型所需要的字段,会自动构造成CURD表单。
5、再到【CMS模块】->【ILDM管理】中,创建控制器与数据模型间的绑定关系,如果需要支持WAP和PC端双模板,可以在创建时进行勾选。
6、再点击绑定记录对应的操作按钮,对模型表单进行日常数据管理。
7、这时候如果我们需要后台管理栏目,则可以在【CMS模块】->【栏目管理】中进行创建。
8、如果你习惯线上编辑代码,也可以在【CMS模块】->【代码管理】中进行日常开发,支持原代码备份与还原。
9、前端视图读取模型数据一般不需要修改控制器的代码,只需要使用ams:list标签,就能完成日常开发。

3、ams:list标签

该标签是基于ThinkPHP5的自定义标签所开发的一个数据查询标签,其主要是用于构造 相对于 【数据模型】的DB操作,并无缓存设置。

其主要参数支持以下几种:
table 表名
field 查询字段
join 是否连__data表
where 查询条件
page 是否分页
limit 每页记录数
order 排序
id 循环变量名

下面以一个benner表为例,构造了一个查询例子:

{ams:list table='benner' field='title,url' where='status=1' limit='5' order='time DESC' id='vo'}
    {$vo.title} - {$vo.url}
{/ams:list}

理解为:SELECT title,url FROM 前缀_benner WHERE status=1 ORDER BY time DESC LIMIT 5;

下面我们再以一个news表为例,构造了一个连接news_data的分页查询例子:

{ams:list table='news' field='B.*, A.*' join='1' where='A.title != "小黄牛"' page='1' limit='1' order='A.id DESC' id='vo'}
    {$vo.title} - {$vo.url}
{/ams:list}

# 输出分页
{$page}

理解为:

Db::name('news')
->alias('A')
->join('__NEWS_DATA_ B', 'A.id = B.id')
->where('A.title != "小黄牛"')
->order('A.id DESC')
->paginate(1);

这样需要注意的是,ams:list最大只支持嵌套5层。

4、ams:tag标签

该标签是用于读取模型字段对应的 下拉列表、多选菜单、担心菜单的内容值,并转换为数组列表。
其主要参数支持以下几种:
table 表名
field 字段名称
tag 选中标签的ID
num 返回多少个
id 循环变量名

下面我们再以一个news表为例,构造了一个读取label字段,全部内容值的例子:

{ams:tag table='news' field='label'}
    {$key}=>{$vo}
{/ams:tag}

下面我们再以一个news表为例,构造了一个读取label字段,但只显示news表id为$info['id'] 所选中值的例子:

{ams:tag table='news' field='label' tag="$info['id']"}
    {$key}=>{$vo}
{/ams:tag}

5、注意事项

假设,当前项目为demo,然后举例以下注意事项:
1、登录后台,在【CMS模块】->【项目管理】中新建一个,项目目录为【demo】的新项目,并双击切换当前项目为【demo】项目
2、静态文件必须放置在/public/home/目录中,新建一个文件夹名为demo,所以完整的前端静态文件引入路径为:__HOME__/demo/