在网站运营中,每个栏目拥有独特的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/}