取出最新更新电影数据
页面数据的分析:
这里面需要有图片,标题,评分值还有评分的星星.
使用标签取出我们的数据:
这个地方我们需要使用arclist标签,取出四个电影数据
在dede的标签中实现自增的效果
[field:global.autoindex /] 这个可以实现自增,从1开始 相当于$i+
dede中调用自定函数的写法:
[field:pfz function=”getStar(@me)” /] 这里的@me表示传值的意思
重点:评分的星星的实现:
思路:因为我们设置的总分是10分,一个星星表示两分.那么总的应该输出5个星星.我们评分的值除以2,得出金星星的个数,然后使用5减去金星星的个数,就可以得出灰星星的个数.
注意:实现评分星星个数的函数要写在include/extend.func.php文件中
效果如下所示:
完成电影评分榜
实现的效果如上所示:分析
前三个的排序号,要实现变色.评分中要从高到底进行排列.
取出的字段包含:电影名称,评分值
a 分析index.html中原来代码的规律
b 在页面中使用arclist取出电影的数据,并且实现他们的排序:
实现的页面效果如下所示:
多学一招:在得的标签中让原生的php代码生效的写法:
语法:
[field:字段名称 runphp=”yes”]
if(@me){
//具体的代码
}
[/field:字段名称]
注意:runphp=”yes”属性是指,当前字段标签里面要使用业务逻辑。
实现排序并加上自定义样式的完整代码
实现页面排序效果的代码
实现的效果如下:
自定义排序
因为我们要排序的话,肯定是根据评分值进行排序的,所以我们要在adonmovie这个附加表中,实现其排序.
打印出arclist标签的sql解析语句:
这个sql语句中虽然连了addonmovie这个表,但是呢并没有根据pfz进行排序的规则.
从sql语句中可以知道,addonmovie这个表的别名是addf.
在arclist的文件中,添加一段代码,实现按照评分值的排序
添加评分排序之后的sql语句,注意调用的时候要写上排序的条件:
打印的sql语句如下所示:
输出栏目以及栏目下数据
对页面效果的分析:
channelartlist标签实现循环嵌套
语法格式:
{dede:channelartlist}
{dede:field name=’字段名称’/}//第一层循环输出的内容
{dede:channel|arclist }
[field:字段名称]
{/dede:channel|arclist}
{/dede:channelartlist}
channelartlist标签可以实现循环嵌套效果,一般情况和channel标签或者arclist标签配合使用
案例:将当前电影网站的顶级栏目以及其子栏目循环遍历出来。这里的typeid对应arctype栏目表中reid
a 直接在html页面中循环取出我们需要的数据
b 展示的效果如下所示:
单独制作一个头部文件
需求:我们需要将所有的页面的公共部分,制作成为一个公用的头部,这样我们在使用的时候直接引入即可
a 在tmplets/a67下眠声明一个header.html文件
b 从index.html中拿到公共页面的html代码,放在header中
公共代码开始的位置
公共代码结束的位置
c 在index.html中使用include进行引入:
{dede:include filename=”header.html” /}
结果如下所示:
完成栏目模板页面的制作
需求:当点击首页的栏目时,直接跳转到栏目的列表页:
制作栏目的模板文件
将我们模板页面中电影列表页修改为list_movie.htm
要在后台更新栏目页面的地址:
使用后台生成列表页文件
栏目更新完成:
当我们再次点击首页的栏目时,出现的效果如下:
点击之后就可以跳转到我的电影下面
引入样式文件
脚下留心:这里的页面修改完成之后.一定要进行后台的更新才可以查看到效果.
最终效果:
在栏目页面取出所属当前栏目的电影
这个地方需要取出当前栏目下的电影,所以需要使用arclist标签即可
观察list_movie.html的结构
在代码中添加标签,获取到相应的电影数据
当我们标签定义完成之后,一定要在后台重新生成栏目列表页面,才可以看到效果.
最终效果:
在栏目模板中取出‘大陆’电影
在页面中的显示位置:
分析:如果我们要取出大陆电影,那么他的sql语句的where条件一定是把地区当做筛选条件的.
默认的情况下,arclist标签在解析的时候,是不会把addf.diqu=’大陆’ 这个条件加进sql语句中的.所以我们要人为的进行添加.
在arclist.lib.php中把where条件拼接上.
a 将where条件从list_movie.html页面传递到arclist.lib.php中
打印的结果如下:
b 将接受到的where条件到底拼接到sql’中
最终打印出来的sql语句如下所示:
最终实现效果的代码
在arclist.lib.php中的添加的where条件
最终的效果如下:
‘国产大片’栏目使用单独模板文件
a 找到国产大片栏目进行修改
b 复制一个栏目模板文件,然后进行改名
复制完成模板之后,重新更新栏目就可以看到效果
c 点击首页的国产大片按钮,进行访问
完成内容详情页面
制作内容详情页面的模板文件
需求:当我们点击某一个电影时,就可以跳转到这个电影的详情页,查看其详细的信息
a 制作电影详情的页面:
b 修改栏目中电影详情页的名字
c 更新所有的文档,查看电影详情的页面
d 修改article_movie中的css和js的路径
路径更新完成之后,重新新生页面,然后再查看效果
页面路径修改完成之后的页面,如下:
在内容页面中取出对应的数据
需求:把自己的电影数据填充到这里.
这里可以使用一个dede单标签
注意在内容详情页:取出具体的电影数据信息需要使用单标签:{dede:field.字段名称/}
在内容详情页,取出数据的时候,即可以取出内容主表中的信息,也可以取出附加表中的信息,也可以取出其栏目表中的对应信息
这里我们取出数据的时候,使用的都是单标签
当标签填写完成之后,一定要更新文档html才能查看到具体的效果
页面的最后效果如下所示:
取出和当前电影同属于一个栏目的电影
页面的效果图:
还可能喜欢的就是同一个栏目下的电影
代码如下所示:
效果如下: