dedecms(3)

---恢复内容开始---

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("\r\n","\n",$str);
	$arr1=explode("\n",$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>

  

---恢复内容结束---

posted @ 2013-12-02 00:40  冯志强采桑子  阅读(277)  评论(0编辑  收藏  举报