全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:17710347978

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

由于个性化需要,深山想在织梦后台的栏目管理中增加一个上传缩略图的功能并且在前台调用,没有增加上传缩略图功能时后台如下图,一起来看看如何操作的:

本文分为两部分:织梦后台栏目添加缩略图上传功能和织梦栏目添加缩略图前台调用,删改文件前请做好备份!!!

织梦栏目没有增加缩略图时

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

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


  1. alter table dede_arctype add typeimg varchar(100)

执行一条SQL语句

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


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

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


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

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


  1. `crossid`='$crossid',

在其下面加入如下代码(如下图):


  1. `typeimg`='$typeimg',

修改织梦后台catalog_edit.php

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


  1. <script language='javascript' src="js/main.js"></script>
catalog_add.htm中插入js文件

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


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

catalog_add.htm插入代码

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


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

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


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

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

织梦后台栏目增加上传缩略图功能完成

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

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


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

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


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

调用织梦栏目缩略图

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


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

由于我是在栏目模板中调用,所以最后调用出来的结果如下图所以:

织梦栏目添加缩略图最终效果

本次分享的织梦栏目添加织梦后台栏目添加上传缩略图功能及前台调用方法教程就分享到这里,希望多各位有一定的参考价值,另有什么补充的可以私聊我!

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。