• 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("
    ","
    ",$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>
    

      

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

  • 相关阅读:
    洛谷 P1291 [SHOI2002]百事世界杯之旅 解题报告
    洛谷 P1338 末日的传说 解题报告
    洛谷 P3952 时间复杂度 解题报告
    vector-erase
    STL之--插入迭代器(back_inserter,inserter,front_inserter的区别
    STL之--插入迭代器(back_inserter,inserter,front_inserter的区别
    vector-end
    vector-end
    vector-empty
    vector-empty
  • 原文地址:https://www.cnblogs.com/fengzhiqiangcaisangzi/p/3453242.html
Copyright © 2020-2023  润新知