当前位置:首页 > 行业动态 > 正文

如何在DedeCMS中为栏目添加缩略图?

在DedeCMS中,要实现栏目缩略图功能,可以通过修改模板文件和配置文件来实现。具体步骤如下:,,1. 打开 /templets/default/index_article.htm文件,找到以下代码:,,“ html,{dede:field name='body'/},` ,,将其替换为:,,` html,,,,{dede:field name='body'/},` ,,2. 打开/include/common.func.php 文件,找到以下代码:,,` php,function GetSearchInfo($keyword) {,` ,,在其下方添加以下代码:,,` php, $type = $_GET['type'];, if ($type == 'top') {, $row['litpic'] = GetTopImage($id);, } else {, $row['litpic'] = GetImage();, },},“,,3. 保存文件并上传到服务器,然后更新缓存。,,完成以上步骤后, DedeCMS的 栏目缩略图功能即可实现。

在织梦CMS(DedeCMS)中,为栏目增加缩略图功能是一项常见需求,这不仅能够提升网站的视觉效果,还能帮助用户更直观地了解各个栏目的内容,以下是实现DEDECMS栏目缩略图的详细步骤及注意事项:

准备工作

1、备份文件:在进行任何修改之前,务必备份相关文件和数据库,以防出现意外情况导致数据丢失。

2、新建文件夹:打开templets目录,在其中新建一个名为typeimg的文件夹,用于独立存放栏目缩略图。

添加字段

1、后台执行SQL语句:在后台执行以下SQL语句,以添加栏目缩略图字段typeimg:

ALTER TABLEdede_arctype ADDtypeimg CHAR(100) NOT NULL DEFAULT '';

注意:根据实际表前缀修改表名。

修改模板文件

1、修改catalog_add.php

打开dede/catalog_add.php文件,查找以下代码:

     $queryTemplate = "insert intodede_arctype (reid,topid,sortrank,typename,typedir,";

将其修改为:

     $queryTemplate = "insert intodede_arctype (reid,topid,sortrank,typename,typedir,typeimg,";

继续查找以下代码:

     ('~reid~','~topid~','~rank~','~typename~','~typedir~',

将其修改为:

     ('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',

2、修改catalog_edit.php

打开dede/catalog_edit.php文件,查找以下代码:

     $upquery = "Updatedede_arctype set ";

在其下方添加一行:

     'typeimg'='$typeimg',

3、修改catalog_add.htm

打开dede/templets/catalog_add.htm文件,查找以下代码:

     <tr>
       <td height="26">列表命名规则:</td>
       <td>
         <input name="namerule2" type="text" id="namerule2" value="{typedir}/list_{tid}_{page}.html"   />
         <img src="img/help.gif" alt="帮助" width="16" height="16" border="0"  onClick="ShowHide('helpvar3')"/></td>
     </tr>

在其下方添加以下代码:

     <tr>
       <td height="65" >栏目图片:</td>
       <td>
         <input name="typeimg" type="text"  id="typeimg"  value="" />
         <input type="button" name="set9" value="浏览... "  onClick="SelectTemplets('form1.typeimg&activepath=%2Ftemplets%2Ftypeimg&img=yes');" />
       </td>
     </tr>

4、修改catalog_edit.htm

打开dede/templets/catalog_edit.htm文件,查找以下代码:

     <tr>
       <td height="26">列表命名规则:</td>
       <td>
         <input name="namerule2" type="text" id="namerule2" value="<?php echo $myrow['namerule2']?>" size="40"  />
         <img src="img/help.gif" alt="帮助" width="16" height="16" border="0"  onClick="ShowHide('helpvar3')"/></td>
     </tr>

在其下方添加以下代码:

     <tr>
       <td height="65" >栏目图片:</td>
       <td>
         <input name="typeimg" type="text"  id="typeimg"  value="<?php echo $myrow['typeimg']?>" />
         <input type="button" name="set9" value="浏览... "  onClick="SelectTemplets('form1.typeimg');" />
       </td>
     </tr>

调用缩略图

1、在栏目模板中调用:使用以下标签在栏目模板中调用缩略图:

   {dede:field.typeimg /}

2、页调用(如果需要):打开includearc.archives.class.php文件,查找以下代码:

   if($this>ChannelUnit>ChannelInfos['issystem']!=1)
       $query = "Select arc.*,tp.reid,tp.typedir,ch.addtable fromdede_archives arc left join dede_arctype tp on tp.id=arc.typeid left join dede_channeltype as ch on arc.channel = ch.id where arc.id='$aid' ";
      $this>Fields = $this>dsql>GetOne($query);

将其修改为:

   if($this>ChannelUnit>ChannelInfos['issystem']!=1)
       $query = "Select arc.*,tp.reid,tp.typedir,tp.typeimg,ch.addtable fromdede_archives arc left join dede_arctype tp on tp.id=arc.typeid left join dede_channeltype as ch on arc.channel = ch.id where arc.id='$aid' ";
      $this>Fields = $this>dsql>GetOne($query);

FAQs常见问题与解答

问题 解答
如何在不同页面调用不同大小的缩略图? 可以通过CSS样式控制缩略图的大小,在列表页调用小尺寸缩略图,在内容页调用大尺寸缩略图,具体方法是在模板文件中使用不同的CSS类或直接设置标签的width和height属性。
如果缩略图无法显示,可能是什么原因? 可能的原因包括:缩略图文件不存在、路径错误、文件权限问题等,建议检查缩略图文件是否上传到指定目录,路径是否正确,以及文件是否有读取权限。

通过以上步骤,您可以成功为DEDECMS的栏目添加缩略图功能,并实现在各个页面中的调用,希望这些信息对您有所帮助!

0