织梦dedecms增加栏目(栏目图片)上传缩略图功能
在我们用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` SETissend='$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'$uptopsqlWHERE id='$id' ";
大概在 137 行 typedir=’$typedir’, 下面加上 typename=’$typename’,
$upquery = "UPDATE `#@__arctype` SETissend='$issend',sortrank='$sortrank',typedir='$typedir',typename='$typename',isdefault='$isdefault',defaultname='$defaultname',ispart='$ispart',corank='$corank' $uptopsqlWHERE 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,sitepathFrom `#@__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,sitepathFrom `#@__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,sitepathFROM `#@__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}