织梦后台栏目添加上传缩略图功能及前台调用方法

    织梦后台栏目添加上传缩略图功能及前台调用方法,删改文件前请做好备份!!!

    第一部分:织梦后台栏目添加缩略图上传功能

    1)登陆织梦网站后台,执行一条SQL语句,【系统】-【SQL命令工具】-【多行命令】-【确定】如下:

    alter table dede_arctype add typeimg varchar(100)

    2)修改织梦后台文件,路径:dede/catalog_add.php(dede为默认后台目录),大约在229行,将下列代码:

    ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`)

    替换为下列代码(在末尾增加了,'$typeimg'):

    ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`)

    路径:dede/catalog_add.php(dede为默认后台目录),大约在232行,将下列代码:

    '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes')";

    替换为下列代码(在末尾增加了,'$typeimg'):

    '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$typeimg')";

    3)同样是修改后台文件,路径dede/catalog_edit.php(dede为默认后台目录),大约在61行,找到:

    `crossid`='$crossid',

    在其下面加入如下代码:

    `typeimg`='$typeimg',

    4)修改织梦后台模板,路径:dede/templets/catalog_add.htm(dede为默认后台目录),在7行加入:

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

    并在大约501行,也就是SEO标题的上面加入如下代码(

    <tr> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-bottom:3px;"> <tbody> <tr> <td height="24" class="bline" width="150" style="padding-left:10px;">栏目缩略图:</td> <td class="bline"> <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="<?php echo $myrow['typeimg']?>" /> <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" />(栏目模板里用{dede:field.typeimg /}调用)</td></tr> </tbody> </table> <input type="hidden" name="dede_addonfields" value="imgmm,img" /></td> </tr>

    5)同样是织梦后台模板,路径:dede/templets/catalog_edit.htm(dede为默认后台目录),第7行插入js文件:

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

    并在大约407行,插入如下代码,同样是在SEO标题的上方:

    <tr> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-bottom:3px;"> <tbody> <tr> <td height="24" class="bline" width="150" style="padding-left:10px;">栏目缩略图:</td> <td class="bline"> <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="<?php echo $myrow['typeimg']?>" /> <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" />(栏目模板里用{dede:field.typeimg /}调用)</td></tr> </tbody> </table> <input type="hidden" name="dede_addonfields" value="imgmm,img" /></td> </tr>

    至此,织梦网站后台栏目添加缩略图上传功能已经二开完毕,可以正常上传图片,但是这才完成一半,前台并没有显示。

    第二部分:织梦栏目添加缩略图前台调用

    1)虽然在后台已经可以看见(栏目模板里用{dede:field.typeimg /}调用)这几个字眼,但是这样调用并不会显示,我们还需要修改:/include/taglib/channel.lib.php这个文件,在大约78行到94行,替换为以下代码(增加了typeimg字段):

    if ($type == 'top') { $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; } else if ($type == 'son') { if ($typeid == 0) return ''; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,content,typeimg From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line "; } else if ($type == 'self') { if ($reid == 0) return ''; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; }

    2)前台调用,在你想显示这个栏目缩略图的地方用{dede:field.typeimg /}调用,如:

    <img src='{dede:field.typeimg /}'/>

    如果要实现图库可以点击的超链接及限制图片的宽和高,可以参考如下调用方法:

    <a href="[field:typelink/]"><img src="[field:typeimg/]" width="130" height="100" /></a>