• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

DedeCMS二次开发(二)完成电影评分榜、输出栏目数据、制作头部文件、制作栏目模板页

Mr.Lee 由 Mr.Lee
2018年5月20日
在 DedeCMS, 二次开发
0
DedeCMS二次开发(三)搜索页面、数据库操作
0
分享
1
浏览


dedecms第二天

取出最新更新电影数据

页面数据的分析:

这里面需要有图片,标题,评分值还有评分的星星.

使用标签取出我们的数据:

这个地方我们需要使用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才能查看到具体的效果

页面的最后效果如下所示:

取出和当前电影同属于一个栏目的电影

页面的效果图:

还可能喜欢的就是同一个栏目下的电影

代码如下所示:


效果如下:

标签: 制作头部文件制作栏目模板页完成电影评分榜输出栏目数据
上一篇文章

DedeCMS二次开发(三)搜索页面、数据库操作

下一篇文章

DedeCMS 二次开发(一)CMS介绍、安装、目录结构、取出数据、表、表关系、标签

下一篇文章

DedeCMS 二次开发(一)CMS介绍、安装、目录结构、取出数据、表、表关系、标签

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3