第一:在织梦栏目中增加上传栏目缩略图功能涉及到的文件有哪些?
此功能添加涉及到以下文件:
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 测试通过,其他版本未测试,原理基本相同,请大家自行测试是否可行。
第二:在织梦栏目中增加上传栏目缩略图功能的步骤
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.htm与dede/templets/catalog_edit.htm的添加/dede/js/main.js的js代码
<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 /}