为织梦cms栏目添加缩略图的功能,需要涉及修改系统的文件,要谨慎修改哦。下面企业seo建站小孟为您列出了详细的修改方法,一起来看看~

栏目添加缩略图

 

首先。新加字段 typeimg

后台执行SQL:

alter table `dede_arctype` add `typeimg` char(100) NOT NULL default '';


为织梦cms栏目添加缩略图的功能涉及到文件有:

dede/catalog_add.php(增加栏目的文件)

dede/catalog_edit.php(修改栏目的文件)

dede/templets/catalog_add.htm

dede/templets/catalog_edit.htm


打开文件夹templets这个目录,在里面新建一个文件夹typeimg,用于独立存放栏目缩略图


打开dede/catalog_add.php,查找

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

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

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

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


打开dede/catalog_edit.php查找

$upquery = "Update `dede_arctype` set

在其下边增加一行:

`typeimg`='$typeimg',


打开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">栏目图片:</td>

<td>

<input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="" />

<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');"/> (栏目模板里用{dede:field.typeimg /}调用)

</td>

</tr>


并在文件的head增加以下内容 
<script language='javascript' src='js/main.js'></script>


打开dede/templets/catalog_edit.htm查找

<tr>

<td height="26">列表命名规则:</td>

<td> <input name="namerule2" type="text" id="namerule2" value="" size="40" class="iptxt" />

<img src="img/help.gif" alt="帮助" width="16" height="16" border="0" style="cursor:pointer" onClick="ShowHide('helpvar3')"/>td>

</tr>

在其下边增加内容:

<tr>

<td height="65">栏目图片:</td>

<td>

<input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="" />

<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');"/> (栏目模板里用{dede:field.typeimg /}调用)

</td>

</tr>

并在文件的head增加以下内容 

<script language='javascript' src='js/main.js'></script>

修改完成之后,就可以在添加栏目或者修改栏目的时候,看到有栏目缩略图的添加入口了~

一般情况下我们调用栏目的时候有2种方式{dede:chanel}和{dede:type},所以我们需要修改下边2个文件
  include/taglib/channel.lib.php
  include/taglib/type.lib.php
1)修改include/taglib/channel.lib.php
在78 - 94行之间,找到如下代码
    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 ";
    }
在每个typename的后边添加typeimg,一共三处,修改后的代码为
    if($type=='top')
    {
        $sql = "SELECT id,typename,typeimg,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,typeimg,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,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
            FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
保存文件。
调用时可通过{dede:chanel}标签调用
      {dede:channel type='top' row='8'}
 <li><a href='[field:typelink/]'><img src="[field:typeimg/]"  /></a> </li>
{/dede:channel}
    
    2)修改include/taglib/type.lib.php
    在42行找到$row = $dsql->GetOne("SELECT id,typename,
    在其后边添加typeimg,既把它修改成如下:
    $row = $dsql->GetOne("SELECT id,typename,typeimg,
    保存文件。
    
    调用方法,可在任何模板页通过{dede:type}方式调用,如下:
    {dede:type typeid='5'}
<a href="[field:typelink /]"><img src="[field:typeimg /]"  /></a>
{/dede:type}
    
    3)在当前栏目页调用该栏目的缩略图可以直接使用<img src="{dede:field.typeimg/}"  />调用。


加微信