第一步:模型管理-添加模型:

栏目模板前缀设定方案下的channel目录下的ch_menu.html作为浏览栏目的模板页。对应访问网址:项目名/栏目名(一级或者二级栏目如news或者gnxw)/index.jhtml。该url相当于Action,WEB-INF/www/方案名/channel/ch_menu.html作为对应模板来使用。

例如:jeecms/news/index.jhtml。所对应模板文件:WEB-INF/www/default/channel/ch_menu.html。

内容模板前缀设定录下的content目录下的默认(default.html)作为浏览内容的模板,如果指定了名称,如:cn_menu,则按照指定的名称浏览内容cn_menu.html。对应的访问网址是:项目名/栏目名(该内容对应的父栏目名,如gnxw)/ID(文章对应的数字).jhtml。如果该内容为空在对应的模板名字为default.html否则对应名字为“指定名.html”。

例如:jeecms/gnxw/518.html。对应的模板文件:WEB-INF/www/default/channel/default.html。(内容模板前缀不填的前提下)

第二步:添加栏目模型的自定义字段和内容模型的自定义字段。

这里栏目模型和内容模型分别对应返回前台的bean数据所对应的字段。打开栏目模型:

其中tplChannel和tplContent字段分别表示是否使用已经存在的模板,这里可以不选择。如果选择则使用指定的模板,不选择则使用刚才在模型中定义的模板如cn_menu和default(c或者(co_menu)模板文件。

同样道理设置内容模型:

其中typeId必须填写,这是用来指定内容类型,channeId也是必须填写,用来指定属于哪个栏目,在录入内容时,栏目部能是顶级栏目。

第三步:

模型建立好之后,点击“栏目”,点击树形列表中根,再右上角选择“添加子栏目”。这里的子栏目就是刚才在第一步里面建立好的模型。选择菜单,建立菜单类栏目(一级菜单,相当于文件夹)。建立好之后再建立二级子菜单例如:前台菜单,因为添加内容时,选择栏目不能选顶级菜单,所以要建立二级子菜单。

例如:这是默认方案default目录下,channel和content目录下可选择的模板。

保存之后,前台可以通过@cms_channle*这样的标签访问栏目,使用@cms_content*这样的表情访问内容。那么他们返回的栏目信息的bean 有的是channel类型有的是List<channel>,无论哪一个,都可以参照第二步:“栏目模型的自定义字段和内容模型的自定义字段”里面的字段名,使用返回的bean属性名。例如:title,name,url之类,因为channel是继承了其他基类,所以有些属性没有再上图中体现出来!

一级菜单:

二级菜单:

注意访问路径不一致!

这里有一个bug.例如先设定为default方案之后,在设置模板时候,模板的路径就包含了方案的路径,如下图。当方案改变时,这里的模板路径没有跟随方案一起改变所以访问

Jeecms/gnxw/518.html时,会映射到default方案下的channel/news_child.html。这样的话,当前方案不应该包含这个栏目,却可以访问(css会有影响,但数据没有影响)

jeecms栏目模型和内容模型的使用以及对应前台的标签中的属性名的更多相关文章

  1. s:textarea中的文本内容在什么时候才能被赋值给Action中的属性?

    下面是jsp程序片段: <s:form id="startForm" name ="startForm" action="/hall/hall_ ...

  2. python 全栈开发,Day47(行级块级标签,高级选择器,属性选择器,伪类选择器,伪元素选择器,css的继承性和层叠性,层叠性权重相同处理,盒模型,padding,border,margin)

    一.HTML中的行级标签和块级标签 块级标签 常见的块级标签:div,p,h1-h6,ul,li,dl,dt,dd 1.独占一行,不和其他元素待在同一行2.能设置宽高3.如果不设置宽高,默认为body ...

  3. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  4. 配合dedecms内容模型实现后台输入栏目id前端输出文章列表

    为了简化开发的工作量,也方便编辑快速操作,决定将后台进行重新设置.配合dedecms内容模型实现后台输入栏目id前端输出文章列表,这样制作科室专题页也变快了很多.比如,我们添加一个“科室专家栏目id” ...

  5. phpcms V9 内容模型管理

    [1]理解模型 模型,系统知识的抽象表示.既然抽象了,那就得脑补一下.大家都是面向对象设计的专业人员,类就很抽象的,对比类的定义想象一下模型的概念. 举个例子,一般新闻类的信息,都具有标题.内容.作者 ...

  6. phpcms V9 内容模型管理(转)

    转自:http://www.cnblogs.com/Braveliu/p/5102627.html [1]理解模型 模型,系统知识的抽象表示.既然抽象了,那就得脑补一下.大家都是面向对象设计的专业人员 ...

  7. cms内容模型标签

    内容模块 内容模块PC标签调用说明 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category ...

  8. dedecms自定义模型之独立模型在首页、列表页、内容调用内容

    dedecms关于自定义模型(独立模型)的首页.列表页.内容怎么调用?在后台自定义模型(独立模型)的建立及自定义字段的添加比较简单,需要注意两点: (1)如果某个字段需要在前台列表页显示,则在前台参数 ...

  9. dedecms新建内容模型以及如何添加字段

    dedecms新建内容模型以及如何添加字段 内容模型就是我们所说的频道模型,利用频道模型可以实现其使用他的栏目具备一些功能,比如说,图片模型,在使用他的栏目中就可以发表多个图片,并且能够达到相册的功能 ...

随机推荐

  1. 有关DotNetBar设计样式和运行时的样式不一致的问题

    可以在 窗体类构造函数的InitializeComponent后加上下面圈出的内容:  this.EnableGlass = false; 参考文章 DotNetBar如何控制窗体样式

  2. leetcode357

    public class Solution { public int CountNumbersWithUniqueDigits(int n) { ) { ; } ; ; ; && av ...

  3. Java使用 VelocityEngine模板引擎快速生成HTML等各种代码

    https://blog.csdn.net/icannotdebug/article/details/79725297 一.简介 Velocity 是一个基于 Java 的模板引擎框架,提供的模板语言 ...

  4. python:while 语句的使用方法

    while语句: count = 0 while True: print(count) count += 1 if count == 10: break 实例: 计算n!,若:n = 5:则:n! = ...

  5. spring中的通配符

    一.加载路径中的通配符:?(匹配单个字符),*(匹配除/外任意字符).**/(匹配任意多个目录) classpath:app-Beans.xml 说明:无通配符,必须完全匹配 classpath:Ap ...

  6. objective-C: NSString应该用initWithFormat? 还是 stringWithFormat?

    今天在看书上的一段代码时,发现NSString实例化时,有时用的是initWithFormat方法,有时用的是stringWithFormat,到底应该如何选择呢? 区别: 1.initWithFor ...

  7. elasticsearch must和should组合查询

    {"query": { "bool": { "should": [ {"bool": { "must" ...

  8. 后端生成二维码 - C#生成二维码(QR)

    最近在github上找到一个相对比较好的C#二维码生成类库.在这里和大家分享一下. github地址:https://github.com/codebude/QRCoder 把解决方案下载下来,编译生 ...

  9. ShaderLab内置变量

    [ShaderLab内置变量]

  10. 平衡二叉树之RB树

    RB树(红黑树)并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能.由于它的设计,任何不平衡都会在三次旋转之内解决.典型的用途是实现关联数组(如C++中的map和s ...