dede是最近这几年兴起的CMS系统对于不少朋友来说都是再熟悉不过了,而且现在也有很多企业在用,因为他简单,方便,强大。
在有些时候我们希望栏目能够添加各自的缩略图,dede本身是不带这个功能的,需要修改其内部文件,
以下都是亲测可行之后记录下来的,给大家参考
1、修改数据库中栏目表结构,运行sql语句
ALTER TABLE `dede_arctype` ADD `typeimg` CHAR(200) NOT NULL
2、dede/catalog_add.php
查找“$in_query” 在 sql语句中添加“typeimg”字段,结果改为
$in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`) VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$typeimg')";
3、dede/catalog_edit.php
搜索“$upquery”找到第一个位置,加入字段
接下来改这两个文件的模板
4、dede/templets/catalog_add.htm
搜索“SEO” 在这个tr之前加如一个表格行
<!---栏目缩略图---> <tr> <td height="65" style="padding-left:10px;">栏目图片:</td> <td> <input name="typeimg" type="text" style="width:250px;margin-left:0px;filter: alpha(opacity=100);-moz-opacity: 1;opacity: 100.0;cursor: normal;" id="typeimg" class="alltxt" value=""/> <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" /> </td> </tr> <!---栏目缩略图--->
在head区域调用script (改文件已经存在 直接调用)
<script language='javascript' src="js/main.js"></script>
5、dede/templets/catalog_edit.htm
同4 加入如下代码
<!---栏目缩略图---> <tr> <td height="65" style="padding-left:10px;">栏目图片:</td> <td> <input name="typeimg" type="text" style="width:250px;margin-left:0px;filter: alpha(opacity=100);-moz-opacity: 1;opacity: 100.0;cursor: normal;" 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> </tr> <!---栏目缩略图--->
同样要在head区域引入js/main.js
6、栏目页调用栏目图片实现
include/taglib/channel.lib.php
搜索“select” 在搜索结果中 只要不是 “select *” 的 都需要在字段中加入 “typeimg” 一共4处需要修改
7、内容页调用当前栏目图片
include/arc.archives.class.php
搜索“如果当前文档不是系统模型,为单表模型”
在下面的sql语句中加入搜索字段“,tp.typeimg”,改后结果为
// 如果当前文档不是系统模型,为单表模型 $query = "SELECT arc.*,tp.reid,tp.typedir,tp.typeimg,ch.addtable FROM `#@__archives` arc LEFT JOIN #@__arctype tp on tp.id=arc.typeid LEFT JOIN #@__channeltype as ch on arc.channel = ch.id WHERE arc.id='$aid' "; $this->Fields = $this->dsql->GetOne($query);
8、调用标记
栏目页、内容页 直接调用:{dede:field.typeimg/}
底层模板:[field:typeimg/] 如在 dede:channel 中调用
示例:
{dede:field.typeimg/}
{dede:channel type='son'}
<img src='[field:typeimg/]' />
{/dede:channel}