青岛做网站
        行业新闻
行业新闻
当前位置:首页> 新闻动态 > 行业新闻

如何在织梦栏目中增加上传栏目缩略图功能

来源:华软创信  ‌|  ‌类型:青岛做网站/网站建设  |  ‌时间:2015-11-20
   我们在用织梦dedecms制作网站时都知道默认的文章包含有缩略图选项,可以直接上传录入。但是很多时候作为栏目来说,必要的缩略图也是必不可少的,但 dedecms 本身就没有栏目图片的功能,这个不得不说是个遗憾。今天青岛做网站就跟大家介绍一下如何在织梦栏目中增加上传栏目缩略图功能?希望对大家有所帮助。

第一:在织梦栏目中增加上传栏目缩略图功能涉及到的文件有哪些?

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

dede/catalog_add.php

dede/catalog_edit.php

dede/templets/catalog_add.htm

dede/templets/catalog_edit.htm

include/taglib/channel.lib.php

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

第二:在织梦栏目中增加上传栏目缩略图功能的步骤

1、添加字段

   首先是要在数据库添加字段,用phpMyAdmin或者别的数据库管理软件进入数据库添加,,栏目图图片typelitpic 。如果懒得麻烦就直接在DEDE后台或者在数据库添加SQL命令,(DEDE后台-系统-SQL命令行工具)

alter table `dede_arctype` add `typelitpic` char(255) NOT NULL default ’’; 

2、打开dede/catalog_add.php

打开 dede/catalog_add.php 大概在第 65 行,在

$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename, 后面加上 typelitpic,

即为

$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typelitpic,

VALUES(’~reid~’,’~topid~’,’~rank~’,’~typename~’,’~typedir~’,  后面加上 ’~typelitpic~’,

即为

VALUES(’~reid~’,’~topid~’,’~rank~’,’~typename~’,’~typedir~’,’~typelitpic~’,

大概第 228 行,

$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir, 后面加上 typelitpic,

即为

$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,typelitpic,

VALUES(’$reid’,’$topid’,’$sortrank’,’$typename’,’$typedir’, 后面加上 ’$typelitpic’,

即为

VALUES(’$reid’,’$topid’,’$sortrank’,’$typename’,’$typedir’,’$typelitpic’,

3、打开dede/catalog_edit.php

查找$upquery = Update `#@__arctype` set

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

`typelitpic`=’$typelitpic,

保存catalog_edit.php

4、打开dede\templets目录下的catalog_add.htm

在第250行搜索

<td class=’bline’ height="26" style="padding-left:10px;"><font color=’red’>栏目名称:</font></td> 

在下面</tr>后添加如下代码

<tr>

<td class=’bline’ height="26" style="padding-left:10px;">栏目图标:</td>  

<td class=’bline’><input name="typelitpic" type="text" id="typelitpic" size="30" value="<?php echo $myrow[’typelitpic’]?>" class="iptxt" /> <input type="button" name="Submit2" value="站内选择" style="margin-left:8px;" onClick="SelectImage(’form1.typelitpic’,’small’);" class=’np coolbg’/>

</td>

</tr> 

5、打开dede/templets/catalog_edit.htm 在第213行搜索

<td class=’bline’ height="26" style="padding-left:10px;"><font color=’red’>栏目名称:</font></td> 

也是在后面添加

<tr>

  <td class=’bline’ height="26" style="padding-left:10px;">栏目图标:</td>

  <td class=’bline’><input name="typelitpic" type="text" id="typelitpic" size="30" value="<?php echo $myrow[’typelitpic’]?>" class="iptxt" /> <input type="button" name="Submit2" value="站内选择" style="margin-left:8px;" onClick="SelectImage(’form1.typelitpic’,’small’);" class=’np coolbg’/>

  </td>

</tr> 

6、给图片上传按钮添加js链接

是的,我们的缩略图是直接上传的,所以这里要在编辑页与添加页顶部链接那个JS文件,在dede/templets/catalog_add.htmdede/templets/catalog_edit.htm的添加/dede/js/main.jsjs代码

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

7、打开:include/taglib/channel.lib.php

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

打开:include/taglib/channel.lib.php

将字段typelitpic 添加上;红色字体是添加的字段;如以下代码,

if($type==’top’)

{

 $sql = "SELECT

id,typename,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

          From `#@__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,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

          From `#@__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,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

            FROM `#@__arctype` WHERE reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0, $line ";

}

8、页面调用

首页调用:

{dede:channel typeid=’3’ row=’6’}

 <li><a href="[field:typelink/]" target="_blank">

<img src="[field: typelitpic /]" alt="[field:typename/]" width="135" height="95" />[field:typename/]</a></li>

{/dede:channel}

 列表页调用 {dede:field. typelitpic /}

 

 

免责声明:本站所有资讯内容搜集整理于互联网或者网友提供,并不代表本网赞同其观点,仅供学习与交流使用,如果不小心侵犯到你的权益,如果你对文章内容、图片和版权等问题存在异议,请及时联系我们删除该信息。