---恢复内容开始---
A67电影网的开发 首先把Dede默认的首页换成我们的A67电影网的首页 思考: 1.把我们准备好的首页模板 首先.html拷贝到 /dede/templates/default 目录,当然不要忘记拷贝 js/css/imags 等. 修改 首先.html 为 index.htm 并修改 路径问题
<link href="{dede:global.cfg_templets_skin/}/css/style.css" type="text/css" rel="stylesheet"/> <link href="{dede:global.cfg_templets_skin/}/css/index.css" type="text/css" rel="stylesheet"/> <script language="javascript" src="{dede:global.cfg_templets_skin/}/js/global.js"></script> <SCRIPT src="{dede:global.cfg_templets_skin/}/js/jquery-1.4.2.min.js" type=text/javascript></SCRIPT> <SCRIPT src="{dede:global.cfg_templets_skin/}/js/lanrentuku.js" type=text/javascript></SCRIPT>
修改了引入imags的代码: 重新生成页面,可以正确浏览页面 使用变量来引入页面编码:
<meta http-equiv="Content-Type" content="text/html; charset={dede:global.cfg_soft_lang/}" />
2.将默认首页面栏目换成a67电影网的首页面栏目
分析: 我们需要创建新的模型 (电影模型),然后在创建新的栏目 步骤 创建电影模型 创建新的栏目 [我的电影,我的电视剧] 使用标签{dede:channle} 标签取出我们网站自己的栏目信息,修改 首页面模板. 最后修改的 templates/default/index.htm 如下:
3.需求: 当用户点击栏目超链接时,进入到对应的栏目列表页中.
步骤: 把美工提供的页面 通用影视频道页.html 拷贝到 dede/templates/default 并修改名称 list_chmovie.htm , 这里名字修成成什么有后台的 的栏目使用的模板决定.
把首页的栏目超链接指向对应的列表页 修改首页面模板 index.htm
修改了栏目列表模板 list_chmovie.htm 重新指定了网页编码.然后把css/js/images路径正确的指定
重新生成首页和栏目列表页模板,测试 为了更加方便的管理栏目导航,我们做了一个 head.htm 子模板文件,然后在需要的地方引入head.htm 即可 index.htm 首页模板:
4.
需求: a67网的首页面的今天更新滚动内容的自定义.
步骤: 先自己添加一些电影和电视剧. 我们发现系统提供的字段不够使用,我们需要自定义一些字段信息.(新增的字段,参考需要,界面内容页.) 后台->内容模型管理->电影电视->更改->字段管理
添加电影和电视剧 因为我们添加电影或者电视剧时候,就是用到内容页的模板文件, 所以为了添加顺利,我们先提供一个空的内容页模板 article_chmovie.htm 添加了一下电影和电视剧 在index.htm 模板中取出我们的网站的电影 这里我们需要使用到一个新的标签 {dede:arclist} 标签 {dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'} <a href='[field:arcurl/]'>[field:title/]</a> {/dede:arclist} 最后修改的代码是:
如果希望在{dede:arclist} 标签中取出自增的值 [field:global.autoindex/]
flag='h' 只取出头条
5.
user表 id name friendlist 100 宋江 11,111,7,8,100 111 吴用 111,112,113 问题是: 请查出好友包括 11的用户有哪些? select * from users where friendlist like ‘%11%’; X错误 select * from users where find_in_set(‘11’,friendlist)>0;
6.
需求: 当用户点击栏目超链接时,就进入对应的栏目列表页,并显示对应的信息,比如点击我的电影就显示电影的信息。。 步骤: 修改了 列表页模板文件 list_chmovie.htm 文件
7.
需求: 我们能否在栏目列表页中根据自己的需求来获取对应的信息,比如我们点击电影超链接,就显示国语的电影.,
修改list_chmovie.htm 的{dede:arclist } 标签,给他带入属性,指定取出 国语.->自定义属性. 这里同时考虑一个兼容性的问题. 最后我们修改的代码是: list_chmovie.htm
修改对应的后台文件 arclist.lib.php
where="language='粤语' or '国语' "
where="find_in_set('大陆‘,area)>0"
8.dede的sql语句
基本语法: {dede:sql sql=''} [field:title/] 【[field:字段名 字段是从sql查出的]】 {/dede}
步骤:修改 index.htm 首页模板,具体如下:
9.
a67网的主页面和栏目列表的具体的内容,点击后进入内容页面 我们增加内容页模板. 步骤 1.把美工做的 电影内容页.htm 拷贝 到 templates/default/目录 并修改名 article_chmovie.htm 2. 修 article_chmovie.htm 正确的引入 css / js /图片 等. 和以前一样,看 3.正确把首页和列表页的链接指向对应的内容页即可 修改index.htm 首页模板,修改的关键代码是:
这里我们使用一个字段信息 [field:arcurl/] 这个值是 arclist.lib.php 这个文件给你计算并返回. 4.在内容模板页中取出具体的信息 article_chmovie.htm 使用{dede:field.变量名/} 变量名可以是主表的字段名,也可以是附加表的字段名 article_chmovie.htm 关键代码如下:
这里,我们使用{dede:field.字段名/} 取出对应信息 导航栏: {dede:field.postion/} 修改了head.htm 模板 链接了网站首页 <li><a href='{dede:global.cfg_cmsurl/}/'><span>主页</span>
10.统计浏览量
<li>浏览量:<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}"></script></li>
11./plus里面
需求: 我们自己写一个mycount.php 来统计电影的浏览次数, 讲解如何使用dede的工具类完成对数据表的各种操作(curd) 最后的代码是 mycount.php
12.
系统的再说明一下dede的数据库操作方法 案例2: 请编写test.php 可以取出 dede_archives 的所有信息,并 显示在页面. 案例3:自己创建一张表,完成crud操作 案例代码: <?php //取出dede_archives表的所有数据 //对数据表的操作 require_once(dirname(__FILE__)."/../include/common.inc.php"); //$sql="SELECT * FROM dede_archives"; $sql="SELECT * FROM `#@__archives`"; //设置sql语句 $dsql->SetQuery($sql); $dsql->Execute(); //取值 while($row=$dsql->GetArray()){ echo '<pre>'; print_r($row); echo '</pre>'; } //我们来理解 DedeSqli 的执行和取值的理念(面向对象) /*class MyDedeSqli{ private $querystring; private $res; function SetQuery($sql){ $this->querystring=$sql; } function Execute(){ $con=mysqll.... $this->$res=mysqli_query($this->querystring); } function GetArray(){ if($row= mysql_fetch_assoc($this->res)){ return $row; }else{ return FALSE; } } }*/ //自己创建表对其进行curd操作. user表. //添加 //$sql="INSERT INTO a67_user values(1,'韩顺平',md5('123'))"; $sql="UPDATE a67_user SET name='小明' WHERE id=1"; $sql="DELETE FROM a67_user where id=1"; if($dsql->ExecuteNoneQuery($sql)){ echo 'update ok'; } //查询和前面的方式一下
13.
需求: a67网的内容页面增加自定义的资源下载功能
分析: 电影的下载地址格式种类不能确定,每种有几个下载地址不能确定.我们以字符串的形式来存放,我这样设计下载地址格式 3GP|龙门飞甲01|300x200|http://www.xunlei.com/01.3GP 3GP|龙门飞甲02|300x200|http://www.xunlei.com/02.3GP 3GP|龙门飞甲03|100x200|http://www.xunlei.com/03.3GP MP4|龙门飞甲01|320x240|http://www.xunlei.com/01.MP4 MP4|龙门飞甲02|320x240|http://www.xunlei.com/02.MP4 分析实现思路:
步骤 增加一个新的字段,存放下载地址字符串
最后的代码是这样的: 前台: article_chmovie.htm 做了修改
后台:在include/extend.inc.php 文件中,我们增加了一个函数 function myformat($str){ $str=str_replace(" "," ",$str); $arr1=explode(" ",$str); foreach($arr1 as $key1=>$val1){ $arr2=explode("|",$val1); $arr3[$arr2[0]][]=array( 'title'=>$arr2[1], 'fbl'=>$arr2[2], 'url'=>$arr2[3], ); } $htmlstr=''; global $ac; global $cfg_templets_skin; foreach($arr3 as $key2=>$val2){ $htmlstr.=<<<HeadList //自定义的 <H2 id="downloadurls"> {$ac->Fields['title']}{$key2}下载地址<font class="f1">温馨提示:一键下载功能可一次下载{$key2}格式所有分解电影!</font><span><a href="javascript::"onclick="return d3gp()"><img src="{$cfg_templets_skin}/images/yijian_{$key2}.gif" border="0"/></a></span></H2> HeadList; $htmlstr.='<div class="downurls"><ul>'; foreach($val2 as $key3=>$val3){ $htmlstr.=<<<urlList <li><a href="" title="{$val3['title']}3GP下载" target="_blank" rel="nofollow">{$val3['title']}</a>(格式:{$key2}/分辨率:{$val3['fbl']})<span><a href="{$val3['url']}" target="_blank" rel="nofollow">下载到电脑</a></span></li> urlList; } $htmlstr.='</ul></div>'; } return $htmlstr; }
14.星星评分
需求: 在内容页完成评分功能: 当鼠标移动到哪颗星星时,就显示相应的明暗星号
分析: 首先我们给所有的星星绑定一个mouseover事件,当鼠标移动到某颗星星的时候,就做相应的处理. 修改 article_chmovie.htm
代码是: <script type="text/javascript"> $(document).ready(function(){ $("#rank_pic img").mouseover(function(){ //鼠标移动到的星星的左边的星星变黄, //右边的变灰. // alert($(this).prevAll().length); //处理自己 imgsrc=$(this).attr('src'); imgsrc=imgsrc.replace('rank_3.gif','rank_1.gif'); imgsrc=imgsrc.replace('rank_4.gif','rank_2.gif'); //设置回去 $(this).attr('src',imgsrc); //处理左边 $(this).prevAll().each(function(){ imgsrc=$(this).attr('src'); imgsrc=imgsrc.replace('rank_3.gif','rank_1.gif'); imgsrc=imgsrc.replace('rank_4.gif','rank_2.gif'); //设置回去 $(this).attr('src',imgsrc); }); //处理右边 $(this).nextAll().each(function(){ imgsrc=$(this).attr('src'); imgsrc=imgsrc.replace('rank_1.gif','rank_3.gif'); imgsrc=imgsrc.replace('rank_2.gif','rank_4.gif'); //设置回去 $(this).attr('src',imgsrc); }); }); }) ; </script>
---恢复内容结束---