在我們用DEDECMS系統時發現一個功能是沒有的,就是欄目縮略圖無法添加。爲了自己建站方便是網站蒐羅到這個功能添加的方法。
dedecms網站管理系統,默認的文章包含有縮略圖選項,可以直接上傳錄入。
但實際使用中,我們發現作爲欄目來說,必要的縮略圖也是必不可少的,所以本文詳細介紹瞭如何快速給欄目增加縮略圖。
1.“系統->SQL命令工具” , 插入sql語句:
先在數據庫arctype表中增加一個typeimg的字段
alter table dede_arctype add typeimg varchar(100)
打開 dede/catalog_add.php 大概在第 65 行,在
$queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename, 後面加上 typeimg, 即爲
$queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typeimg,
VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~', 後面加上 '~typeimg~', 即爲
VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',
大概第 228 行,
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir, 後面加上 typeimg, 即爲
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,typeimg,
VALUES('$reid','$topid','$sortrank','$typename','$typedir', 後面加上 '$typeimg', 即爲
VALUES('$reid','$topid','$sortrank','$typename','$typedir','$typeimg',
打開 catalog_edit.php 大概在 43 行 typedir='$typedir', 下面加上 typeimg='$typeimg',
$upquery = "UPDATE `#@__arctype` SET
issend='$issend',
sortrank='$sortrank',
typename='$typename',
typedir='$typedir',
typeimg='$typeimg',
isdefault='$isdefault',
defaultname='$defaultname',
issend='$issend',
ishidden='$ishidden',
channeltype='$channeltype',
tempindex='$tempindex',
templist='$templist',
temparticle='$temparticle',
namerule='$namerule',
namerule2='$namerule2',
ispart='$ispart',
corank='$corank',
description='$description',
keywords='$keywords',
seotitle='$seotitle',
moresite='$moresite',
`cross`='$cross',
`content`='$content',
`crossid`='$crossid',
`smalltypes`='$smalltypes'
$uptopsql
WHERE id='$id' ";
大概在 137 行 typedir='$typedir', 下面加上 typename='$typename',
$upquery = "UPDATE `#@__arctype` SET
issend='$issend',
sortrank='$sortrank',
typedir='$typedir',
typename='$typename',
isdefault='$isdefault',
defaultname='$defaultname',
ispart='$ispart',
corank='$corank' $uptopsql
WHERE id='$id' ";
打開 include/arc.archiver.class.php 大概在 77 行
$query = "SELECT arc.*,tp.reid,tp.typedir, 後面加上 tp.typeimg, 即爲
$query = "SELECT arc.*,tp.reid,tp.typedir,tp.typeimg,
至此,程序部分的修改意見完成。接下來修改模版部分。打開
dede/templets/catalog_add.htm 大概在 499 行後面加上
<script type="text/javascript" src="js/main.js"></script>
<tr>
<td height="65" style="padding-left:10px;">欄目圖片:</td>
<td>
<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')" />(欄目模板裏用{dede:field.typeimg /}調用)
</td>
</tr>
打開
dede/templets/catalog_edit.htm 大概在 406 行後面加上
<script type="text/javascript" src="js/main.js"></script>
<tr>
<td height="65" style="padding-left:10px;">欄目圖片:</td>
<td>
<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')" />(欄目模板裏用{dede:field.typeimg /}調用)
</td>
</tr>
保存之後,欄目模板裏用{dede:field.seotitle /}調用即可。
調用欄目通邊 channel 標籤調用,所以要更改, 進入/include/taglib/channel.lib.php文件,找到78行,把以下的代碼替換默認(添加typeimg字段查詢)
if($type=='top')
{
$sql = "SELECT id,typename,typedir,typeimg,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,typedir,typeimg,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,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
調用:
{dede:channel type='son' row='10' typeid="2"}
<div class="w-prd-list-cell">
<div class="w-prd-list-cell-in">
<div class="w-prd-con">
<div class="w-prd-imgbox" title="[field:title /]"> <a target="_self" href="[field:typelink/]" class="img-count w-prd-img">
<div class="aspectRatio" style="padding-bottom:100%"></div>
<div class="img-count-in"><img alt="[field:typename /]" src="[field:typeimg/]" /></div>
</a> </div>
<div class="w-prd-infobox" style="text-align:center">
<h2 class="w-prd-name" title="[field:typename /]">
<a target="_self" href="[field:typelink/]">[field:typename/]</a>
</h2>
</div>
</div>
</div>
</div>
{/dede:channel}