在网站运营中,每个栏目拥有独特的banner大图是提升用户体验的重要手段。为了方便客户直接在后台管理栏目时添加或更换这些图片,我们需要对DedeCMS进行二次开发,增加一个栏目图片上传选项。


以下是实现这一功能的具体步骤:


DedeCMS CMS 栏目添加 Banner 大图上传选项


1. 数据库字段扩展

首先需要为数据库中的dede_arctype表新增一个字段,用于存储栏目的大图地址。


进入后台 - 系统 - 系统设置 - SQL命令行工具,执行以下SQL语句:

ALTER TABLE `dede_arctype` ADD `typebigpic` CHAR( 255 ) NOT NULL DEFAULT '';

2. 修改栏目新增页面模板

打开 \\\\dede\\\\templets\\\\catalog_add.htm 文件,搜索 name="typename" 的位置,在其 后面插入如下代码:



    
        
 图片地址:

3. 修改栏目编辑页面模板

打开 \\\\dede\\\\templets\\\\catalog_edit.htm 文件,同样搜索 name="typename" 的位置,并在其 后面插入与上述类似的代码,区别在于需加入 PHP 动态内容显示:



    
        
 图片地址:

4. 更新栏目新增逻辑

打开 \\\\dede\\\\catalog_add.php 文件,找到相关插入语句并修改以支持新字段:

$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typebigpic";

继续修改 VALUES 部分:

VALUES('$reid','$topid','$sortrank','$typename','$typebigpic'

5. 更新栏目编辑逻辑

打开 \\\\dede\\\\catalog_edit.php 文件,找到更新语句并加入新字段:

`smalltypes`='$smalltypes',`typebigpic`='$typebigpic'

6-9. 修改标签解析文件

分别打开以下文件并调整字段列表:

  • include/taglib/channelartlist.lib.php
  • include/taglib/channel.lib.php
  • include/taglib/type.lib.php
  • include/arc.listview.class.php

确保每处的 typedir 字段后都加上 typebigpic。


前台调用方法

在模板中可以使用以下标签调用栏目大图:

{dede:channelartlist}{dede:field.typebigpic/}{/dede:channelartlist}
{dede:channel}[field:typebigpic/]{/dede:channel}
{dede:type}[field:typebigpic/]{/dede:type}

单独调用时可使用:

{dede:field.typebigpic/}
通过以上步骤,您可以成功为DedeCMS添加栏目的Banner大图上传功能,从而增强网站的表现力和用户体验。