dedecms-电影网开发

项目开发流程

我们开发的a67电影网的页面已经提供了.

什么是cms
cms(content manage system)内容管理系统 , 比如 电商网站/小说网/博客/文章管理系统/各种软件下载网/公司的宣传性网站/新闻发布网站

目前主流的cms系统有哪些
dedecms: 专注于个人网站/中小型网站/也有企业用户
phpcms: 针对中型网站
cmstop: 针对流量大,并发大的网站
帝国cms: 针对中小型网站.

dedecm的特点:
1.开源,简单,实用
2.技术架构 PHP+MYsql
3.专注于个人网站和中小型的门户
4.可以实现全站静态化

安装并配置我们的dedecms
统一开发环境 wamp5
1.卸载我目前的开发环境.
2.安装wamp5套件(继承apache+mysql+php+phpmyadmin)
安装的过程是 next一路到底即可, 当启动后,如果出现的图标是全白,说明启动成功
3.在浏览器中输入 http://localhost
4.把dedecmsv5.7解压,然后把uploads 文件夹,拷贝到 wamp/www 目录
5.把uploads文件夹改名为dedecms
6.在浏览器输入 http://localhost/dedecms/install
7.在安装中请大家启用gb库
8.后面第3步骤时,请正确指定mysql数据库的密码,在默认情况下,我们的dedecms的管理员的密码是 admin
9.看到

10.后台的url http://localhost/dedecms/dede/login.php
这里可访问后台,但是会提示一个安全性错误,可以把默认的dede文件夹,名字改成比如manage
11.输入正确的管理员的名字和密码,就成功的进入后台

我们把 data/common.inc.php 文件改成只读. 如果在linux下,这把改成 644
chmod 644 文件名
成功安装!

快速入门使用dedecms
需求1: 现在老板要求你做一个文章管理系统,栏目(类别)包括(武侠、
爱情、音乐…) ,每个栏目(类别)有对应的文章,文章已经给你准备
好了,请你在30分钟搞定该网站,怎么样?

步骤如下
(1)登录到后台->核心->网站栏目管理->增加顶级栏目
增加了三个

(2)给每个栏目增加对应的文章即可

后台->核心->内容管理->增加文档

(3)借助于这个案例,我们分析dedecms的数据库设计思想

需求2: 如果现在我们要做的是电子商务网站,卖我
们的商品,这时用文章这样的形式来管理还合适
吗?—> 每个栏目都可以指定一个内容模型
什么是内容模型呢?

步骤:
(1)先把自己不需要的先隐藏(把栏目隐藏,把具体的文档隐藏)
(2)增加新的栏目 海尔电器

其实就是在 dede_arctype 表中增加了一条记录

(3)增加了两个具体电器

其实就把把信息记录到对应的主表和附加表
dede_archives 和 对应的 附加表 dede_addonshop

10min 练习

网站页面分级(三层)
网站首页面
网站的栏目页面(多级) ->栏目页面是需要我们手动生成
网站的内容页

☞ dedecms采用的是页面静态化技术,因此它的首页面可以是静态,他的栏目页是静态,内容页面是静态.

注意: 首先要添加一个栏目,才能够添加一个文档(商品,电影,软件,新闻)

需求3: 在添加某个商品的时候,我们希望多两个信息,就是付费方
式,还希望多一个邮资信息,我们又该怎样处理?
引出修改内容模型的问题
步骤如下
(1)后台-> 核心->内容模型管理->选择shop模型->更改

(2)添加新的字段
(3)如果希望看到效果,则更加页面静态化的原理,应当去修改内容页对应的模板,也需要对模板进行修

我们首先要确定,模板文件在哪里?

从这个页面可以看到,文章模板就是我们要找的的内容页模板. 默认是放在 dedecms/templets/defulat /article_shop.htm
(4)修改模板,增加了一段代
支付方式:{dede:field.paymode/}
邮资信息:{dede:field.postmode/}
(5)然后重新生成内容页面即可.

思考题:1. 栏目(类别)是保存在哪个表
中的. 2. 一篇文章,一个商品它们最
终是存放在数据库中的哪些表中?

答: 栏目是保存在dede_arctype 表中, 一篇文章,一个商品是保存在dede_archives和对应的附加表dede_addonXXX 表

小结: 如何使用dedecms增加内容的步骤
(1)首先看看的要增加的内容是否有对应的内容模型,如果有就用,没有就自己创建
演示如何创建自己的内容模型,比如我要做一个新闻网站, 这时我发现没有新闻模型,就自己添加一个 新闻模型,
并且我增加自己独特的字段 (新闻的报道者,新闻发生地)
[这里去让美工提供 该模型的 栏目页面模板和内容页面目录!]
(2)增加栏目(我的新闻)
(3)增加具体新闻
(4)更新一下栏目页和内容页即可.

☞ 在使用过程中,如果没有提供新闻模型对应的栏目页面模板和内容页模板,则dedecms会使用默认的模板文件,但是可能提示错误.

介绍dedecms的目录结构

,每个目录的作用是什么?

dedecms/a 存放的是内容页的静态页面和栏目页的静态页面.(按栏目和日期来分别存放)
dedecms/data 存放缓存文件,临时文件和部分配置文件
dedecms/images 存放dede自己使用的图片
dedecms/include 是dede的核心类库, 包括数据库核心类,标签处理类,工具类,支付接口类

dedecms/install 是安装目录
dedecms/member 是一个会员管理模块(带博客功能..)

dedecms/plus 目录是插件开发目录,当我们自己开发程序和代码可以放在这个下.
dedecms/templets/default 目录 存放的是我们的静态模板.
dedecms/uploads 存放你上传的图片
dedecm/manage 后台程序

实际的来处理一下dedecms系统

1.把首页面和栏目页面和内容页面的广告全部拿掉.
2.把logo 换成自己的logo图片

思路 把dedecms首页面换成静态页面.

因为我们的首页的静态页面是 通过模板文件生成,所以,我只要把 模板文件的 广告相关的标签,删除,然后再重新生成即可.

首页面的静态模板 templets/default/index.html
广告相关的标签是 {myad/}

首页面的广告去掉的步骤:

(1)把 templets/default/index.html 和 templets/default/head.html 的广告标签{myad/}删除,再重新更新首页面,这时,我们的首页上就没有广告
把栏目页面的广告也去掉
(2)把 templets/default/list_shop.htm 和 templets/default/head.html 的广告标签{myad/}删除,再重新更新首页面,这时,我们的首页上就没有广告
把内容页面的广告也去掉
(3)把 templets/default/article_shop.htm 和 templets/default/head2.html 的广告标签{myad/}删除,再重新更新首页面,这时,我们的首页上就没有广告

说明,我们上面的修改只会把 商品这个模型,对应的栏目页面和内容页面的静态页的广告去掉,并不会影响到其它模型对应的栏目页或者内容页 。

学习dedecms的标签

学习思路: 我们使用自己的首页模板文件,然后创建一个学习的测试环境,学习标签

单标签
基本语法是
{dede:标签名 参数名=’值’ 参数名=’值’ …/}

实际案例:
{dede:include filename=’head.htm’/}

双标签
基本语法是:
{dede:标签名 参数名=’值’ 参数名=’值’ ..}
//…内容
{/dede:标签名}

实际案例:

使用channel标签取出所有的栏目信息
{dede:channel type=’top’ row=’10’}
[field:typename/]
{/dede:channel}

这里我们要和说说标签的调用究竟发生了什么?
1.当我们调用某个标签的时候,实际上,引入对应的标签库,比如 dede:channel 其实就引入了channel.lib.php
2.比如上面的这个{dede:channel}标签,相当于 执行
select * from dede_arctype where ??????
我看看后台发生的sql
3.每个标签对应一个标签库,如果我们在开发中需要自己的定制的东西,可以根据需求去修改源码

字段标签的使用

如果我们希望对获取的某个字段,进行二次处理,我们可以对字段值,调用某个函数来完成.

比如:

{dede:channel type=’top’ row=’10’}

[field:typename /]–[field:id function=’md5(@me)’/]
{/dede:channel}

还有一种方式可以对字段值,进行二次处理

基本语法是
{field:字段名 runphp=’yes’}
//有一些简单的php业务代码
{/field:字段名}

实际案例:

{dede:channel type=’top’ row=’10’}

[field:typename /]–[field:id function=’md5(@me)’/]

[field:keywords runphp=’yes’]
@me=(@me==”)?’空空的’:@me;
[/field:keywords]
{/dede:channel}

第三种可以同时有runphp 和 function 函数来处理的字段结果,该用法用的很少,了解即可
比如:
[field:typename function=’md5(@me)’ runphp=’yes’]
@me=(@me==”)?’空空的’:@me;
[/field:typename]

第四种用法: 使用自定义的函数去对获取的字段信息进行二次处理,这个用的最多.

基本步骤是:
在 dedecms/include/extends.func.php 这个文件中,可以写自己的函数,然后使用

//自定义函数
function myfun($val){

return 'hello '.$val.rand(1,1000);

}

如何使用

[filed:字段名 function=’自定函数名(@me)’/]

实际使用一把!

[filed:typename function=’myfun(@me)’/]

深入的了解一把dede标签替换原理

正式开发我们的a67电影网

1.将dede首页面换成a67电影网的首页面

步骤:
(1)把原来的 templets/default 模板文件全部拿掉 ,最好建议备份一份
(2)把我们的a67电影的首页面拷贝到 templets/default
(3)把a67电影网需要的 css / js / images 全部拷贝到 templets/default
(4)我们可以参考一下,dedecms原来是怎样把 css 正确引入.
最后修改的index.htm关键代码是:

imags 引入路径修改:

10min请大家完成到这里!

需求2: 将默认首页面栏目换成a67电影网的首页面栏目

步骤
(1)创建自己的内容模型(频道) 名字movie
后台->内容模型 ->增加
(2)看看需不需要自己增加一些额外的字段
根据我们分析,看了一下内容页模板, 增加相应的字段信息,具体方法是
到内容模型管理区增加,需要的各个字段,并且选用合适的数据类型
(3)增加需要的栏目信息
增加两个栏目 (我的电影,我的电视剧)
(4)增加两个电影
为了代码能顺利运行,我们自己先给一个简单的内容模板
(5)在首页面中,通过标签,取出自己的栏目信息.
思路: 修改首页面的模板文件 index.htm 使用{dede:channel} 标签把栏目信息取出
核心修改的代码是 :

5min写的这里

需求3; 当用户点击某个栏目链接,就进入到对应的栏目页面

思路: 我们首先要把美工给我们的栏目列表模板拷贝到 目录,然后,就可以创建栏目列表页面. 通用影视频道页.html 改成 list_chmovie.htm

,下一步就可以生成栏目列表页.
(1)把通用影视频道页.html 改成 list_chmovie.htm 拷贝到 templets/default
(2)我手动点击了生成 栏目列表HMTL ,我们看到的确生成了
(3)把栏目信息的超链接指向我们自己a67网站的 栏目页面.
(4)在list_chmovie.htm 正确的引入我们的css / js / images即可

index.htm 模板我们修改的地方是:

list_chmovie.htm 模板修改的地方是:

然后把images 正确引入

10min 你们完成到这里地方.

需求4: 在a67首页取出自己的电影或是电视剧

思路: 在首页面的模板文件中,增加,获取电影和电视剧的标签

知识点: 在dedecms中取出内容信息, 使用的标签是 {dede:arclist} 标签
基本语法是:
标签名称:arclist
功能说明:文章列表调用标记
使用实例:
{dede:arclist flag=’h’ typeid=” row=” col=” titlelen=” infolen=”
imgwidth=” imgheight=” listtype=” orderby=” keyword=” limit=’0,1’}
[field:title/]
{/dede:arclist}

我们修改了 首页面的 index.htm 模板,修改的代码如下:

10min完成到这里.

如果我们在开发中个,需要取出指定的某些信息,可以通过 {dede:arclist flag=’h’} ,扩展使用,就是可以把管理员 推荐或是置顶的信息,取出.
在mysql中,我们经常有这样一个需求:比如:

friendlist表

id name friendsList
1 aaa 11,112,113
2 bbb 123,3112

需求是: 请查询出好友包含 11的这个用户id

想法:
select * from friendlist where friendList like ‘%11%’;
实际我们可以这样解决
select * from friendlist where find_in_set(‘11’,friendList);

使用{dede:sql} 标签完成取出任何一张表的信息的功能: ,比如使用sql取出首页面的更新!->这个标签的灵活度很高,几乎可以完成任何的查询需求.

修改首页面: index.htm
{dede:sql sql=”}
[field:title/]
{/dede}

最后的代码如下:

对sql标签的一个评价: 该标签很灵活,缺点就是,如果你需要程序中计算出来的值,默认情况不会返回:
最后,我给大家举例说明,如何使用 sql标签灵活的取出今天更新的代码:

dedecms开发电影网-第一节相关推荐

  1. unity2d游戏独立开发全流程 第一节 基于TileMap场景搭建

    本次开发unity2d战斗游戏demo 完成场景搭建 场景元素添加 控制主角移动  角色动画及切换 相机跟随插件 道具交互脚本  简单UI界面 粒子特效 以及c#代码的基本编写逻辑 等等 场景资源链接 ...

  2. 芒果iOS开发UI课程第一节UIWindow

    主要内容: 1.iOS介绍 2.iOS主要做什么 3.UI介绍 4.UIWindow 这是UI阶段的第一节课主要介绍iOS系统,以及相关的一些知识.还有做为iOS开发者我们应该如何创建我们的第一个UI ...

  3. C# WinForm开发书店管理系统第一节

    我是笑林新记,分享一下我使用C#的一些用法,希望对大家有帮助!欢迎关注:笑林新记 Visual Studio版本:Enterprise 2015 .net 版本:.NET Framework4.5 从 ...

  4. 工具设置Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节

    时间紧张,先记一笔,后续优化与完善. 声明:   本博客文章翻译类别的均为个人翻译,版权全部.转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http:/ ...

  5. mysql datetime 比较大小_【知识点】分布式事务数据库 —-MySQL 数据库开发规范(第一节)...

    目录 (1)数据类型: (2)表名称与字段名称设计规则: (3)字符集: (4)字符串函数-3.1-3.5 : (5)字母大小写转换函数 : (6)数学函数 : (7)日期操作函数 : (8)类型转换 ...

  6. 开发日记 第一节 生活中学习的一些资源链接(汇总)

    第一节 生活中学习的一些资源链接(汇总) 序 一.学习平台 二.英语学习 三.IT编程学习 四.软件资源 五.其它学习资源 序 推荐使用电脑端打开本页面的一些指向链接,手机端打开会有时间较长的页面转码 ...

  7. 第一节:ASP.NET开发环境配置

    第一节:ASP.NET开发环境配置 什么是ASP.NET,学这个可以做什么,学习这些有什么内容? ASP.NET是微软公司推出的WEB开发技术. 2002年,推出第一个版本,先后推出ASP.NET2. ...

  8. 第一啪,第一啪电影网,第一啪电影网用的哪里的模板diyipa.cc

    如题: 上次发帖子说是引流给删除了,无奈只能重新在发一遍 发现最近都在找第一啪电影网的模板,这里我就告诉大家在哪里找,如果你也想学习技术,玩玩可以参考 https://blog.csdn.net/go ...

  9. VAPS XT航空仪表开发第一节

    看网上关于VAPS XT进行开发的资料很少,从今天起,分享VAPS XT开发航空仪表,大概会分享一下内容 1.VAPS XT的介绍和基本使用 2.VAPS XT与外部模型通信(以UDP为例,介绍VAP ...

最新文章

  1. Intent对象详解(二)
  2. 【干货下载】聚美优品、中商惠民、倍全,如何让数据驱动“新零售”落地?...
  3. 前端学习(2565):watch监听
  4. QT+OpenCV综合示例:载入、读取图片
  5. 怎么把桌面计算机放到快速启动栏,怎么把桌面图标放到快速启动栏
  6. 监督学习 | SVM 之非线性支持向量机原理
  7. 如何配置CentOS或者RedHat5.X、6.X、7.X的网络yum源
  8. 位域(Bit-fields)分析
  9. ScreenFlow for mac(屏幕录像软件)
  10. 深入解析大数据虚拟化的架构(下)- 系统架构
  11. xlsxwriter写入Excel
  12. linux使用jinja2模板_Jinja2 教程
  13. 应届生产品助理/经理面试,应当多谈点什么?
  14. Java Files.walk示例
  15. 电商后台管理系统(一)项目搭建
  16. 计算机网络 研究生复试考前最终版
  17. “拼多多”惊爆重大 Bug!程序员的眼泪,羊毛党的狂欢
  18. “大数据金融”亟待“大数据安全”
  19. 更智能的云米双开门风冷冰箱,除了追剧,还能让食材井井有条
  20. 一文排除WINDOWS-PYTHON3.7环境安装WORD2VEC包的所有坑

热门文章

  1. Eclipse项目上的红叉解决方案
  2. 腾讯云物联网平台实现MQTT双向通信(MQTT.fx测试)
  3. arcgis属性表选择两个条件_arcgis中给属性表字段按条件批量赋值
  4. ZZULIOJ:1151: 大整数加法
  5. 加壳技术-safengine
  6. python xlwt包写入数据到excel文件出错解决办法
  7. 职业生涯的成功,需要自信
  8. OFDM系统架构梳理(1)
  9. springboot实现验证码
  10. 7805管脚图,应用电路