• 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

  • 相关阅读:
    STL_算法_05_集合算法
    STL_算法_04_算术和生成算法
    STL_算法_03_拷贝和替换算法
    STL_算法_02_排序算法
    STL_算法_01_查找算法
    STL_容器使用时机
    STL_容器共通能力
    Qt5_选择文件对话框
    Qt5_当前exe所在路径
    Java 静态代理和动态代理
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471760.html
Copyright © 2020-2023  润新知