ClassCMS

模型/栏目/文章

配置文件内开启module项后,可以在ClassCMS后台内管理模型,也可以通过代码手动增加模型/字段/变量/页面/栏目/文章等信息.

主题类应用可以在安装应用(install方法)时通过这些代码,导入模型信息.

模型

//增加模型,应用下不能存在同名或同标识的模型
$moduleid=C('cms:module:add',array('modulename'=>'首页','hash'=>'index'));//返回新增的模型id

//获取模型,可以传入id或模型标识
$module=C('cms:module:get',$moduleid);//返回的模型数组中会包含下属变量名

//修改模型,模型标识无法更改,只能更改名字或排序
$module_array=array('id'=>$moduleid,'modulename'=>'首页2','moduleorder'=>2);
C('cms:module:edit',$module_array);

//删除模型,可以传入id或模型标识
C('cms:module:del',$moduleid);

//获取应用下模型列表
$modules=C('cms:module:all');
$modules=C('cms:module:all','template');//也可以传入应用标识,获取其他应用下的模型列表

页面

hash为页面标识,modulehash为所属模型标识,uri为页面网址,classfunction为页面方法,classview为页面模板文件

C('cms:route:add',array('hash'=>'channel','modulehash'=>'index','uri'=>'/','classview'=>'index','classfunction'=>'index'));

其它页面方法 cms:route:all cms:route:get cms:route:edit cms:route:del 的具体参数,请查看文件/class/cms/route.php

字段&变量

hash为输入框的标识.

formname为标题.

classhash为目标应用的标识,可以为其它应用下的模型增加字段或变量,不填则默认为当前应用.

modulehash为所属模型标识.

kind为类型(var是变量,column是文章字段)

inputhash为输入框类型(数据库input表内有全部输入框类型).

formwidth为输入框的宽度(5,15,20,25,30...95,100)

defaultvalue为默认值

nonull为是否为空选项

indexshow为列表页是否显示选项(只有column有此选项)

tabname为输入框的切换tab名,可以将不同类型的字段或变量设置在后台不同的tab页面中.

tips为输入提示,会显示在后台输入框下方.

config为输入框配置项.

//为标识为index的模型增加title变量
C('cms:form:add',array('hash'=>'title','formname'=>'标题','kind'=>'var','modulehash'=>'index','inputhash'=>'text'));

//为标识为article的模型增加recommend字段,默认值为0
C('cms:form:add',array('hash'=>'recommend','formname'=>'推荐','kind'=>'column','modulehash'=>'article','inputhash'=>'switch','defaultvalue'=>0));

//为标识为article的模型增加datetime字段,列表页显示该字段,并且输入框配置项nowtime为1
C('cms:form:add',array('hash'=>'datetime','formname'=>'时间','kind'=>'column','modulehash'=>'article','inputhash'=>'datetime','indexshow'=>1,'config'=>array('nowtime'=>1)));

也可以使用 cms:form:add 增加后台用户属性(kind=info,classhash=admin,modulehash不需要填写)

栏目

//增加栏目,增加成功后返回新栏目id,var为栏目变量值.
$channelid=C('cms:channel:add',array('channelname'=>'文章','modulehash'=>'article','var'=>array('title'=>'文章栏目')));

//获取栏目,返回的数组中包含栏目变量
$channel=C('cms:channel:get',$channelid);//也可以传入栏目名(注意,栏目名有可能存在重复)

//栏目编辑
C('cms:channel:edit',array('id'=>$channelid,'channelname'=>'新栏目名','fid'=>'父栏目id','enabled'=>1));

//编辑栏目变量
C('cms:article:setVar',$channelid,'title','新的栏目标题');

//栏目删除
C('cms:channel:del',$channelid);

//获取栏目的顶级栏目
C('cms:channel:top',$channelid);

//获取栏目的所有父栏目
C('cms:channel:parents',$channelid);

//获取当前应用的首页栏目,默认排序第一的栏目为首页栏目
C('cms:channel:home');

文章

//增加文章
$article=array();
$article['cid']=3;//目标栏目的id
$article['title']='文章标题';
$article['content']='文章内容';
$id=C('cms:article:add',$article);

//编辑文章
$article=array();
$article['cid']=3;//目标栏目的id
$article['id']=1;//目标文章的id
$article['title']='新文章标题';
$article['content']='新文章内容';
C('cms:article:edit',$article);

//删除文章
C('cms:article:del',array('cid'=>3,'id'=>1));

//获取文章
$config=array();
$config['cid']=1;//目标栏目id
$config['order']='id desc';//排序方式
$config['pagesize']=10;//获取文章数量
$articles=C('cms:article:get',$config);
//获取单篇文章使用cms:article:getOne

更多文章查询参数请查看文章查询