六、内容模型修改,自定义内容模型
注意 :在添加完成某个模型的栏目后,想要添加该栏目的数据,需要在后台重新刷新一下,在核心-》内容管理-》会出来该模型数据的添加按钮。
1、修改模型,
在dede里面默认的模型有时不满足我们,需要修改模型
如何更改:
在后台-》核心-》频道模型-》内容模型管理-》
单击修改后,选择字段管理。
选择添加新字段,新添加的字段默认在最后,
在字段管理里面,通过调节如下代码,设置表单显示的位置。
调试结果如下:
对应附加表里面添加了一个字段。
2、自定义模型
当默认的模型无法满足我们时,要自己定义模型,(新建模型)
如何定义:
定义模型:新增一张附加表,定义附加表里面的字段信息。
字段信息如何定义:根据内容详情页面里面,显示的数据信息而定义,
要注意:有些信息无需定义,因为在内容主表里面已经定义了,比如名称,缩略图的地址等。
在内容模型管理里面-》新建模型即可:
新建完成模型后,附加表对应创建,在附加表里面默认有几个字段,不能满足我们,因此要添加我们自己定义的字段。
针对我们电影网站定义模型字段内容:
七、模板替换,使用标签取出数据,
电影网站的模型已经完成,接下来完成电影网站的栏目的创建。
在添加完成栏目后,要刷新一下后台首页,会在内容管理中出现栏目所属的模型,进行添加数据。
在添加电影时,常规信息下面默认是标题,可以改成其他的内容显示,修改模型,里面基本设置里面进行修改。
1、模板替换,
(1)在dede目录下面的templets目录下面存储是模板文件。
在templets目录下面新建一个目录,为a67,用于存储我们电影网站的模板文件。
(2)把我们自己准备的模板的样式,图片,js目录给复制到a67目录下面
(3)定义模板文件的名称。
需要准备至少是3个模板文件,首页模板,列表页面的模板,内容详情页面的模板
首页的模板:
栏目(列表)页面模板:
核心-》网站栏目管理-》更改-》
一个栏目对应两个模板文件,在默认情况下,同属于一个模型的所有栏目使用同样的模板文件。我们也可以设置,不同的栏目使用不同的模板。
(4)设置cms系统使用我们自己的模板,
(5)生成首页的静态页面。
2、使用标签取出数据
在dede里面有两种标签,单标签和双标签。标签只能在模板文件中使用。
(1)单标签:
使用语法:
{dede:global.标签的名称/}
{dede:global.cfg_webname/}
{dede:global.cfg_templets_skin/},给我们解析成当前的模板目录:
单标签是实际上是解析成全局变量,在include目录下面有一个文件common.inc.php,该文件里面定义了一些全局变量,如果想在模板文件中使用全局变量,则使用单标签来取出。
自己可以建立一个测试文件,用于测试标签内容的解析,比如在a67下面建立一个demo.htm文件,用于测试,
(2)双标签,取出数据内容。
查看dedecms里面提供的双标签,
语法格式:
{dede:标签的名称 属性1=属性值1 属性2=属性值2}
[field:字段名称/]
{/dede:标签的名称}
案例1:取出栏目数据内容,使用的标签是,channel标签,
该标签在解析的时候,是查询的dede_arctype表
取出的数据:
每一个双标签,对应一个解析文件的。该解析文件在include 目录下面的,taglib目录下面。
可以在channel.lib.php文件中测试执行的sql语句,通过输出该语句,判断读取哪张表里面的数据。
案例2:取出电影首页模板中导航条,取出栏目信息,使用channel标签,
案例3:取出首页模板中,推荐数据内容。
思考:先用哪个标签,
arclist:标签,该标签是取出具体的数据内容,内容主表(dede_archives)和附加表(dede_addonXXx)
channeled=’模型的id’: 通过该属性,用于确定是取出哪个模型的数据,也就是确定读取哪张附加表,如果没有该属性,则不读取附加表里面的数据。
addfields=”附加表字段多个用逗号隔开”,用于确定从附加表里面取出哪些字段信息。
标签代码: