此次教程是针对企业公司网站针对每个栏目的banner大图而写,可以每个栏目使用不同的banner长图
单独调用这些图片比较麻烦,我们修改程序实现每个栏目都有上传栏目缩略图的功能
开始教程(所有操作记得备份数据)
第一步、执行SQL命令为数据库的栏目表结构添加一个字段
alter table `dede_arctype` add `typeimg` char(100) NOT NULL default '';
第二步、修改涉及到文件
dede/catalog_add.php
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
1、打开dede/catalog_add.php(增加字段:typeimg)
查找
$queryTemplate = "insert into `dede_arctype`
把
(reid,topid,sortrank,typename,typedir,
替换成
(reid,topid,sortrank,typename,typedir,typeimg,
把
('~reid~','~topid~','~rank~','~typename~','~typedir~',
替换成
('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',
2、打开dede/catalog_edit.php
找到
$upquery = "Update `dede_arctype` set
在它下面加上
`typeimg`='$typeimg',
3、打开dede/templets/catalog_add.htm
查找
<tr>
<td height="26">列表命名规则:</td>
<td>
<input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html" class="pubinputs" style="width:250px" />
<img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/></td>
</tr>
在它下面加上
<tr>
<td height="65" style="padding-left:10px;">栏目图片:</td>
<td width="400">
<input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
</td>
<td>
<td align="center"><img src="<?php echo "images/pview.gif";?>" width="150" height="100" id="picview" name="picview"></td>
</td>
</tr>
然后再head增加下面这个JS
<script language='javascript' src="js/main.js"></script>
4、打开dede/templets/catalog_edit.htm
查找
<tr>
<td height="26">列表命名规则:</td>
<td>
<input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html" class="pubinputs" style="width:250px" />
<img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/></td>
</tr>
在它下面加上
<tr>
<td height="65" style="padding-left:10px;">栏目图片:</td>
<td width="400">
<input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
</td>
<td>
<td align="center"><img src="<?php echo "images/pview.gif";?>" width="150" height="100" id="picview" name="picview"></td>
</td>
</tr>
详解:
<?php echo $myrow['typeimg']?>
这句会调用出已添加的路片路径
然后再head增加下面这个JS (和上面一步一样操作)
<script language='javascript' src="js/main.js"></script>
5、dede:channel标签和dede:type等标签都还是无法调用该字段的,还需要修改标签语句
打开/include/taglib/channel.lib.php
找到一下代码,每个typedir后面加上自己添加的字段typeimg
if($type=='top')
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
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
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
FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
//如果用子栏目模式,当没有子栏目时显示同级栏目
if($type=='son' && $reid!=0 && $totalRow==0)
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
$dsql->SetQuery($sql);
$dsql->Execute();
}
再找到
$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
在下面加上
$linkOkstr = str_replace("~typeimg~",$row['typeimg'],$linkOkstr);
6、找到include/taglib/type.lib.php
找到如下代码,并在typedir后加上typeimg,前台就可以通过标签调用了
if(empty($typeid)) return '';
$row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE id='$typeid' ");
标签调用代码:
[field:typeimg/]