dede织梦cms给栏目添加缩略图的方法

dede织梦cms进行网站建设时,想要每个栏目有独立banner图或者封面缩略图怎么办?今天就来说说dede织梦cms给栏目添加缩略图的方法。

首先打开织梦后台,系统设置,SQL命令行工具,然后输入以下语句运行:

alter table `dede_arctype` add `typeimg` varchar(200) NOT NULL default '';

运行结果如下图所示:

织梦运行SQL命令行

接下来打开 后台目录dede下的catalog_add.php文件:

在65行找到: $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,
将其替换为: $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typeimg,

修改第65和67行

在67行找到: VALUES('~reid~','~topid~','~rank~','~typename~',
将其替换为: VALUES('~reid~','~topid~','~rank~','~typename~','~typeimg~',


在227行找到: $in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,
将其替换为:  $in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typeimg,

修改227和230行

在230行找到: VALUES('$reid','$topid','$sortrank','$typename',
将其替换为:  VALUES('$reid','$topid','$sortrank','$typename','$typeimg',


再打开 后台目录dede下的catalog_edit.php文件:

在第41行后新增一行

在41行: typename='$typename',

后新增一行:typeimg='$typeimg',


继续打开 后台目录dede/templets/下的catalog_edit.htm文件:

<head>处引入js

在<head>标签里添加<script language='javascript' src="js/main.js"></script>

然后找到栏目名称位置:
 <tr>
  <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
  <td class='bline'>
  <input name="typename" type="text" id="typename" size="30" value="<?php echo $myrow['typename']?>" class="iptxt" /></td>
 </tr>
 
在后面另起一行添加下面代码:
 <tr>
  <td class='bline'  height="65" style="padding-left:10px;">栏目缩略图:</td>
  <td class='bline' >
    <input name="typeimg" type="text" style="width:300px" 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>

增加栏目缩略图编辑模板


继续打开 后台目录dede/templets/下的catalog_add.htm文件:

head处引入js


在<head>标签里添加<script language='javascript' src="js/main.js"></script>

然后找到栏目名称位置:
<tr>
     <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td>
     <td class='bline'><input name="typename" type="text" id="typename" size="30" class="iptxt" /></td>
</tr>
 
在后面另起一行添加下面代码:
<tr>            
    <td class='bline' height="26" style="padding-left:10px;">栏目缩略图:</td>
    <td class='bline'>
       <input name="typeimg" type="text" style="width:300px" id="typeimg" class="alltxt" value="" />
       <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
    </td>                       
</tr>

栏目名称后增加缩略图模板代码

织梦栏目管理添加栏目缩略图上传

完成以上步骤功能就增加好了,但是为了方便前端模板调用,我们还需要修改部分文件,具体请看下面说明。

一、进入根目录打开include/taglib/channel.lib.php文件,找到78-94行注:没有修改的话,就在这个位置,修改了请仔细看代码找),在所有的typename,后面增加typeimg, 一共有3处,具体看下面代码:

if($type=='top')
    {
        $sql = "SELECT id,typename,typeimg,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,typeimg,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,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
        FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}

78-94行修改3处增加typeimg


进入根目录打开include/taglib/type.lib.php文件,找到42行注:没有修改的话,就在这个位置,修改了请仔细看代码找),在typename,后面增加typeimg, 具体看下面代码:

$row = $dsql->GetOne("SELECT id,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
               FROM `#@__arctype` WHERE id='$typeid' ");

第42增加typeimg


完成以上修改,我们就可以在前端使用模板标签调用栏目缩略图了,标签使用说明如下:

使用栏目循环{dede:chanel}标签调用时如下:

{dede:channel type='top' row='6'}
<li><a href='[field:typelink/]'><img src="[field:typeimg/]"/></a></li>
{/dede:channel}


使用单个栏目{dede:type}调用标签时如下:

{dede:type typeid='1'}
<a href="[field:typelink /]"><img src="[field:typeimg /]"/></a>
{/dede:type}


在当前栏目封面页或者列表页调用时如下:

<img src="{dede:field.typeimg/}"/>


如果内容有帮助,就点个赞吧!

转载注明出处:http://www.12564.cn/show-187.html

如有疑问请联系 QQ:644233191   微信:zw1688k