• 20150328--Dede+条件选取-01


    image

    目录

    一、内容回顾 1

    1、主要的表 1

    2、使用 cms系统完成项目的流程 1

    3、标签 1

    4、模板与静态页面的关系 1

    二、完成如下数据的取出 3

    三、完成评分值排序, 6

    四、输出电影的子栏目。 8

    五:输出子栏目下电影内容; 9

    六、制作网站的头部,让其他的模板引入 10

    七、完成栏目列表页面的内容 10

    八、在栏目页面取出所属栏目的电影。 11

    九、在栏目页面页面中,取出条件:地区为大陆的电影。 12

    十、完成你内容详情页面; 13

    一、内容回顾

    1、主要的表

    dede_channeltype表:存储dedecms里面的内容模型

    dede_archives表:存储数据内容公有的一些信息。

    dede_addonxxxx表:存储模型数据都有的一些信息。

    dede_arctype表:存储创建的栏目。

    2、使用 cms系统完成项目的流程

    (1)创建模型,每一个模型对应一张附加表。

    (2)创建栏目,

    (3)添加数据内容,

    (4)制作模型,完成替换,使用标签取出数据

    (5)生成静态页面,主页,列表页面,内容详情页面。

    3、标签

    {dede:channel}标签:取出栏目的数据,查询的表是,dede_arctype表

    {dede:arclist}标签:获取具体的数据内容,查询的表是dede_archives(内容主表)和dede_addonxxx(附加表)

    channeled=””   属性是:通过该属性决定要读取哪个模型里面的数据,也就是确定哪张附加表。

    addfields=””  要获取附加表里面的字段内容,

    4、模板与静态页面的关系

    静态页面通过模板生成的。

    扩展:

    wps66D1.tmp

    取出具有幻灯(f)属性的数据,

    条件:flag里面具有f的字样。

    select * from dede_archives  where flag  like  ’%f%’;

    select * from dede_archives where   find_in_set(‘f’,flag)>0

    find_in_set(‘f’,flag) 返回值是查找字符串所在父字符串的位置,从1开始数的。

    wps66E1.tmp

    在mysql里面是以instr(母字符串,子字符串)函数,返回值子字符串在母字符串的位置,从1开始计算。

    wps6702.tmp

    二、完成如下数据的取出

    wps6712.tmp

    思考:取出的具体数据内容,使用的标签是,arclist标签。

    思考:有没有取出附加表里面的数据,如果有,使用channelid=””   addfields=”附加表字段

    取出数据的个数:使用row=”4”

    知识点1

    字段标签:[field:global.autoindex/] 类似于在循环中使用$i=1;   <?php  echo $i++ ?>

    该字段标签,在循环中使用,每循环一次自动加1输出。

    知识点2

    在dede里面标签是不能够嵌套的,比如

    {dede:arclist}

    {dede:global.cfg_templets_skin/}/images/1.jpg

    {/dede:arclist}

    无法解析{dede:global.cfg_templets_skin/}内容。

    解决方案:如果标签被嵌套,则改成字段标签即可

    {dede:global.cfg_templets_skin/}改成    [field:global.cfg_templets_skin/]

    wps6713.tmp把{}改成[]  把dede改成field。

    wps6724.tmp知识点3:在字段标签中可以使用函数,

    wps6725.tmpwps6726.tmp语法:[field:字段名称 function=”函数名称(@me)”]

    wps6756.tmp

    如果想要使用自定义函数,需要在一个文件中定义好。该文件在 include目录下面,文件名为:extend.func.php文件

    wps6766.tmpwps6767.tmpwps6788.tmp

    比如在extend.func.php文件中定义如下函数:

    wps678A.tmp

    在标签中使用:

    wps67B8.tmp

    最后输出结果:

    wps67C9.tmp

    案例:根据分数显示金星的个数

    wps67CA.tmp

    在模板页面中的代码:

    wps67DB.tmp

    在extend.func.php文件中定义的函数,

    wps6849.tmp

    最后的结果:

    wps68C7.tmp

    三、完成评分值排序,

    wps68D8.tmp

    思考:使用的标签,arclist,使用属性 channeled=””  addfields=’pfz’

    如何按照评分值进行排序。

    通过在标签文件中,输出sql语句:

    wps69A4.tmp

    通过分析发现,在sql语句中,

    dede_archives的别名是:arc

    dede_arctype的别名是tp

    dede_addonxxx别名是:addf

    修改:arclist.lib.php页面,添加代码,支持根据评分值排序。

    wps6A51.tmp

    知识点:在字段标签里面可以使用简单的业务逻辑,

    语法使用:

    [field:字段名称 runphp=”yes”]

    if(@me>=6){

    $me=’优秀’

    }

    wps6AA0.tmp[/field:字段名称]

    wps6AB0.tmp

    wps6AD1.tmpwps6AD2.tmpwps6AE2.tmp

    该字段标签最后输出的内容,是通过业务逻辑处理的结果。

    案例:根据评分值排序,前3名添加class=”hove”样式:

    具体的代码:

    wps6AF3.tmp

    最后的结果:

    wps6B04.tmp

    总结:在字段标签里面可以使用的参数:

    (1)可以在字段标签里面使用函数,最后字段标签里面输出的内容是,函数处理结果的返回值。该函数可以使用系统函数,也可以自己定义,如果要自己定义则必须在include目录下面的extend.func.php文件中。

    (2)字段标签:[field:global.autoindex/],在循环中使用,每循环一次自动加1

    (3)字段标签里面可以是简单的业务逻辑,通过使用runphp=”yes”,最后该字段标签输出的内容,是业务逻辑处理的结果。

    四、输出电影的子栏目。

    wps6B33.tmp

    思考:取出的是栏目数据,channel标签

    wps6B34.tmpwps6B35.tmpwps6B46.tmp

  • 相关阅读:
    Java实现KMP算法
    字符串匹配的KMP算法
    Apache与Tomcat 区别和联系
    二叉树中两个节点的最近公共父节点
    Git使用详细教程
    动画讲解 Eclipse 常用快捷键
    Android系统SD卡各类文件夹名称
    Chrome 控制台不完全指南
    JavaScript入门学习书籍的阶段选择
    从入门到放弃的第二周(面向对象)......day.6.。。。。。对象,类,方法;
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471771.html
Copyright © 2020-2023  润新知