dedecms
数据模型: dede_channeltype (商品,文章,电影)
栏目表:dede_arctype 导航条
内容主表:
dede_archives 主表存储各个模型之间的公共信息,标题和添加时间
dede_addonxxx附加表存储各个模型下商品的特有的信息,电影的导演,音乐填词人
主表的所有的记录==附表记录之和
一个栏目指向某个模型(dede_arcty栏目中的channeltype字段指向dede_channeltype)
表的关系
模型表 <--------> 栏目名称 dede_channeltype <-------> dede_type(channeltype)
栏目主表 <--------> 内容主表 dede_type <------> dede_archives(typeid)
内容主表 <--------> 内容附表 dede_archives <---->dede_addonxx(typeid)
内容主表 <--------> 模型表 dede_archives<----->dede_channeltype(channel)
栏目表
{dede:channel} // 获取栏目表中的信息dede_type
{fields:name}
{/dede:channel}
主表+附加表
{dede:arclist} dede_archives 和 dede_addonxx 表中的数据, 其中有个属性typeid指向了模型表dede_channeltype
channelid:该属性指向了模型表中的id,由于选择模型,电影还是文章[联系我们],在进行连接查询的时候非常的必要,指定附加表
addfields:year,actors 附表中的字段,用于取出附加表中的字段信息
flag=h 属性 // 根据什么来排序,默认情况下为id desc
row=1 取出一行
orderway = ‘desc’ 默认为降序
{dede:arclist channelid=17 addfields=’year,actor’ flag=’h’ row=1}
{field:typenames}
{/dede:arclist}
1、dede中标签是不能进行嵌套使用(双标签不能嵌套单标签) 不能被解析
需要把单标签的{ } 变成[ ] 且将dede改为field:global.cfg_baseurl
2、在dede的双标签中的[field:global.autoindex /] 就相当于自增长++i
3、在字段的标签中使用自定义的函数,无论是自定义还是系统函数,格式如下
[field:fieldname function=’函数名(@me)’]
#me指代的是将字段值fieldname传入自定义函数,而实际的字段值是已经被函数处理后的值
# 自定义函数的路径: include/extend.func.php
[filed:score function=”functionName(@me)”]
function($score){ return $score }
4、使用orderby 得出自己想要的排序
{dede:arclist channelid=’’ addfields=’’ flag=’’ row=’’ orderby=’score’ }
在include/taglib/arclist.lib.php 中【文档排序】添加
else if($orderby == 'score') $ordersql = " order by addf.score $orderWay";
addf 为dede_addonmovie 别名
score为想要按什么来进行排序的字段
在该文件中也可以进行die($query) 在生成静态页面中可以看到sql语句
5、给字段标签添加简单的业务逻辑
语法:
[field:字段标签 runphp=’yes’]
// if(@me ) 等业务逻辑 //自增长或者其他字段
// @me 指代的是field字段的值
[/field:字段标签]
6、双循环的使用,外层循环输入的是栏目数据,内层循环输出的是当前栏目的数据
{dede:channelartlist row=’6’ type=’top’} // 获取模型数据
{dede:field name=’typename’ /} // 获取一级栏目名称
{dede:arclist} // 获取各个栏目下的子栏目
[field:typename/]
{/dede:arclist}
<br/>
{/dede:channelartlist}
7、头文件的引用
head.htm --> {dede:include filename=’head.htm’ /}
8、where子句的添加
9、万能的单标签(可以取出主表和附加表的数据)
{dede:field fieldname /}
10、面包屑导航
{dede:field position /}
11、内容页面模板的制作
所有的模板article_movie.htm
单个模板 按单个栏目下进行更改
防止伪造表单可以验证是否登录来进行判断

浙公网安备 33010602011771号