20150327--Dede+模板替换-02

六、内容模型修改,自定义内容模型

注意 :在添加完成某个模型的栏目后,想要添加该栏目的数据,需要在后台重新刷新一下,在核心-》内容管理-》会出来该模型数据的添加按钮。

1、修改模型,

在dede里面默认的模型有时不满足我们,需要修改模型

wpsE1F3.tmpwpsE1F4.tmp

如何更改:

在后台-》核心-》频道模型-》内容模型管理-》

wpsE1F5.tmpwpsE206.tmpwpsE216.tmp

单击修改后,选择字段管理。

wpsE217.tmp

选择添加新字段,新添加的字段默认在最后,

wpsE238.tmp

在字段管理里面,通过调节如下代码,设置表单显示的位置。

wpsE248.tmp

调试结果如下:

wpsE259.tmp

对应附加表里面添加了一个字段。

wpsE26A.tmp

2、自定义模型

当默认的模型无法满足我们时,要自己定义模型,(新建模型)

如何定义:

定义模型:新增一张附加表,定义附加表里面的字段信息。

字段信息如何定义:根据内容详情页面里面,显示的数据信息而定义,

要注意:有些信息无需定义,因为在内容主表里面已经定义了,比如名称,缩略图的地址等。

wpsE28A.tmp

在内容模型管理里面-》新建模型即可:

wpsE29A.tmp

新建完成模型后,附加表对应创建,在附加表里面默认有几个字段,不能满足我们,因此要添加我们自己定义的字段。

wpsE2AB.tmp

针对我们电影网站定义模型字段内容:

wpsE2BC.tmp

七、模板替换,使用标签取出数据,

电影网站的模型已经完成,接下来完成电影网站的栏目的创建。

wpsE2CC.tmp

在添加完成栏目后,要刷新一下后台首页,会在内容管理中出现栏目所属的模型,进行添加数据。

wpsE2DD.tmpwpsE2EE.tmp

在添加电影时,常规信息下面默认是标题,可以改成其他的内容显示,修改模型,里面基本设置里面进行修改。

1、模板替换,

(1)在dede目录下面的templets目录下面存储是模板文件。

在templets目录下面新建一个目录,为a67,用于存储我们电影网站的模板文件。

wpsE2FE.tmp

(2)把我们自己准备的模板的样式,图片,js目录给复制到a67目录下面

wpsE30F.tmp

(3)定义模板文件的名称。

需要准备至少是3个模板文件,首页模板,列表页面的模板,内容详情页面的模板

首页的模板:

wpsE32F.tmp

栏目(列表)页面模板:

核心-》网站栏目管理-》更改-》

wpsE330.tmpwpsE341.tmpwpsE342.tmpwpsE343.tmpwpsE363.tmp

一个栏目对应两个模板文件,在默认情况下,同属于一个模型的所有栏目使用同样的模板文件。我们也可以设置,不同的栏目使用不同的模板。

wpsE364.tmpwpsE365.tmpwpsE376.tmpwpsE377.tmpwpsE378.tmpwpsE379.tmpwpsE389.tmp

(4)设置cms系统使用我们自己的模板,

wpsE3A9.tmp

(5)生成首页的静态页面。

wpsE3AA.tmp

wpsE3BB.tmpwpsE3DB.tmp

2、使用标签取出数据

在dede里面有两种标签,单标签和双标签。标签只能在模板文件中使用

(1)单标签:

使用语法:

{dede:global.标签的名称/}

{dede:global.cfg_webname/}

{dede:global.cfg_templets_skin/},给我们解析成当前的模板目录:

单标签是实际上是解析成全局变量,在include目录下面有一个文件common.inc.php,该文件里面定义了一些全局变量,如果想在模板文件中使用全局变量,则使用单标签来取出

自己可以建立一个测试文件,用于测试标签内容的解析,比如在a67下面建立一个demo.htm文件,用于测试,

wpsE3EC.tmp

wpsE3FD.tmpwpsE3FE.tmpwpsE41E.tmp

(2)双标签,取出数据内容。

查看dedecms里面提供的双标签,

wpsE42E.tmp

wpsE44F.tmp

语法格式:

{dede:标签的名称  属性1=属性值1  属性2=属性值2}

[field:字段名称/]

{/dede:标签的名称}

wpsE450.tmp

wpsE451.tmpwpsE461.tmp案例1:取出栏目数据内容,使用的标签是,channel标签,

该标签在解析的时候,是查询的dede_arctype表

wpsE462.tmp

取出的数据:

wpsE473.tmp

每一个双标签,对应一个解析文件的。该解析文件在include 目录下面的,taglib目录下面。

wpsE484.tmpwpsE485.tmpwpsE495.tmp

可以在channel.lib.php文件中测试执行的sql语句,通过输出该语句,判断读取哪张表里面的数据。

wpsE4B5.tmp

wpsE4B6.tmpwpsE4B7.tmpwpsE4D8.tmp

案例2:取出电影首页模板中导航条,取出栏目信息,使用channel标签,

wpsE4D9.tmpwpsE4DA.tmpwpsE4DB.tmp

案例3:取出首页模板中,推荐数据内容。

wpsE4EB.tmp

思考:先用哪个标签,

arclist:标签,该标签是取出具体的数据内容,内容主表(dede_archives)和附加表(dede_addonXXx)

channeled=模型的id:   通过该属性,用于确定是取出哪个模型的数据,也就是确定读取哪张附加表,如果没有该属性,则不读取附加表里面的数据。

addfields=附加表字段多个用逗号隔开,用于确定从附加表里面取出哪些字段信息。

标签代码:

wpsE4FC.tmp

原文地址:https://www.cnblogs.com/lifushan/p/5471760.html