A5下载文章资讯

分类分类

dedecms v5.7与v5.6栏目增加缩略图的方法

2015-04-23 15:36作者:zhao

本文实例讲述了dedecmsv5.7与v5.6栏目增加缩略图的方法。分享给大家供大家参考。具体分析如下:

栏目缩略图功能是dedecms系统不具备的一个功能了,如果你想给你的栏目增加一个缩略图上传功能我们需要来进行自定义二次开发了,下面我把一个朋友写的过程分享给大家,这里我也自己经过dedecmsv5.7测试过,没有任何问题.

此功能添加涉及到以下文件:

dede/catalog_add.php

dede/catalog_edit.php

dede/templets/catalog_add.htm

dede/templets/catalog_edit.htm

include/taglib/channel.lib.php

此升级修改方法,在V5.7,V5.7sp1测试通过,其他版本未测试,原理基本相同,请大家自行测试是否可行.

首先给栏目表(`dede_arctype`)增加一个字段typeimg,

altertable`dede_arctype`add`typeimg`varchar(200)NOTNULLdefault;

修改catalog_add.php文件,打开dede/catalog_add.php,查找:

$queryTemplate="insertinto`dede_arctype`

//将

(reid,topid,sortrank,typename,typedir,

//替换为:(reid,topid,sortrank,typename,typedir,typeimg,

//将

('~reid~','~topid~','~rank~','~typename~','~typedir~',

//替换为:

('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',

//查找

$in_query="INSERTINTO`dede_arctype`

//将

(reid,topid,sortrank,typename,typedir,

//替换为:

(reid,topid,sortrank,typename,typedir,typeimg,

//将

('$reid','$topid','$sortrank','$typename','$typedir',

//替换为:

('$reid','$topid','$sortrank','$typename','$typedir','$typeimg',

保存catalog_add.php

下面修改catalog_edit.php文件,打开dede/catalog_edit.php,查找

$upquery="Update`dede_arctype`set

在typedir='$typedir',其下面增加一行:

`typeimg`='$typeimg'

保存catalog_edit.php

开始修改栏目添加模板文件,打开dede/templets/catalog_add.htm,在最上面找到这个段,

<title>栏目管理</title><linkhref="css/base.css"rel="stylesheet"type="text/css">

替换为:

<title>栏目管理</title>

<linkhref="css/base.css"rel="stylesheet"type="text/css">

<scriptlanguage="javascript"src="../include/js/dedeajax2.js"></script>

<scriptlanguage='javascript'src="js/main.js"></script>

<scripttype="text/javascript"src="js/calendar/calendar.js"></script>

列表命名规则,

<tr><tdheight="26"style="padding-left:10px;">列表命名规则:</td>

<td><inputname="namerule2"type="text"id="namerule2"value="{typedir}/list_{tid}_{page}.html"class="pubinputs"style="width:250px"/>

<imgsrc="images/help.gif"alt="帮助"width="16"height="16"border="0"style="cursor:pointer"onClick="ShowHide('helpvar3')"/></td></tr>

在标签下面增加一行:

<!--增加栏目缩略图--><tr>

<tdwidth="90"style="padding-left:10px;">栏目图片:</td><tdwidth="560">

<tablewidth="100%"border="0"cellspacing="1"cellpadding="1"><tr>

<tdheight="30"><inputname="typeimg"type="text"id="typeimg"style="width:240px"/>

<inputtype="button"value="本地上传"style="width:70px;cursor:pointer;display:none"/>

<iframename='uplitpicfra'id='uplitpicfra'src=''style='display:none'></iframe>

<spanclass="litpic_span">

<inputname="litpic"type="file"id="litpic"onChange="SeePicNew(this,'divpicview','uplitpicfra',165,'archives_add.php');"size="1"class='npcoolbg'/></span>

<inputtype="button"name="Submit2"value="选择图片"style="margin-left:8px;"onClick="SelectImage('form1.typeimg','small');"class='npcoolbg'/>

<inputtype="button"name="Submit2"value="裁剪"style="margin-left:8px;"onClick="imageCut('typeimg');"class='npcoolbg'/>

<inputtype='checkbox'class='np'name='ddisremote'value='1'id='ddisremote'/>远程(栏目模板里用{dede:field.typeimg/}调用</td></tr></table></td>

<tdwidth="150"align="center"><divid='divpicview'class='divpre'></div></td></tr><!--增加栏目缩略图-->

保存catalog_add.htm,开始修改栏目编辑模板文件,打开dede/templets/catalog_edit.htm,在最上面找到这个段,

<title>栏目管理</title><linkhref="css/base.css"rel="stylesheet"type="text/css">

替换为:

<title>栏目管理</title><linkhref="css/base.css"rel="stylesheet"type="text/css">

<scriptlanguage="javascript"src="../include/js/dedeajax2.js"></script>

<scriptlanguage="javascript"src="js/main.js"></script><scripttype="text/javascript"src="js/calendar/calendar.js"></script>

查找

<tr><tdheight="26"style="padding-left:10px;">列表命名规则:</td><td>

<inputname="namerule2"type="text"id="namerule2"value="<?phpecho$myrow['namerule2']?>"size="40"class="iptxt"/>

<imgsrc="images/help.gif"alt="帮助"width="16"height="16"border="0"style="cursor:pointer"onClick="ShowHide('helpvar3')"/></td></tr>

在其下面增加一行:

<!--增加栏目缩略图--><tr><tdwidth="90"height="81"style="padding-left:10px;">栏目图片:</td></td>

<tdwidth="500"><inputname="typeimg"type="text"id="typeimg"style="width:300px"value="<?phpecho$myrow['typeimg']?>">

<inputtype="button"name="Submit"value="浏览..."style="width:70px"onClick="SelectImage('form1.typeimg','');">

<inputtype="button"name="Submit2"value="裁剪"style="margin-left:8px;"onClick="imageCut('typeimg');"class='npcoolbg'/>

<inputtype='checkbox'class='np'name='ddisremote'value='1'>远程(栏目模板里用{dede:field.typeimg/}调用)</td>

<tdalign="center"><imgsrc="<?phpif($myrow['typeimg']!="")echo$myrow['typeimg'];elseecho"images/pview.gif";?>"width="150"height="100"id="picview"name="picview"></td></tr><!--增加栏目缩略图-->

保存catalog_edit.htm

至此已经修改完成!

栏目图片的添加或修改图片时在(栏目管理>高级选项)里面就会自动出现栏目图片添加的选择.点击选择图片.弹出窗口内选择浏览上传就OK.

注意:前台栏目标签调用的时候,还需要改一个文件,才能实现栏目图片显示,否则只能通过sql语句才能显示图片。

打开:include/taglib/channel.lib.php,找到如下代码:

if($type=='top'){$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid=0Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="son"){//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="self"){if($reid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";}

替换成下面的代码:

if($type=='top'){$sql="Selectid,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid=0Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="son"){//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="self"){if($reid==0){return'';}$sql="Selectid,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";}

调用方法:

<imgsrc="[field:typeimg/]"/>

希望本文所述对大家的dedecms建站有所帮助。

展开全部

相关

说两句网友评论
    我要跟贴
    取消