-
Dedecms实现栏目缩略图与栏目图片功能的方法
- 时间:2025-03-31 12:06:23 来源: 人气:0
在网站运营中,每个栏目拥有独特的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" 的位置,在其 后面插入如下代码:
<script language='javascript' src="js/main.js"></script>
<tr id="pictable">
<td height="24" colspan="6">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="158"> 图片地址:</td>
<td width="560">
<table width="px" border="0" cellspacing="1" cellpadding="1">
<tr>
<td height="30">
<input name="typebigpic" type="text" id="picname" style="width:220px" value="" />
<input type="button" name="Submit2" value="站内选择" style="margin-left:8px;" onClick="SelectImage('form1.picname','');" class='np coolbg'/>
</td>
</tr>
</table>
</td>
<td width="270">
<style>
.divpre,.divpre img{height:50px;}
</style>
<img src="images/pview.gif" width="100" height="50" id="picview" name="picview"/>
</td>
</tr>
</table>
</td>
</tr>
3. 修改栏目编辑页面模板
打开 \\dede\\templets\\catalog_edit.htm 文件,同样搜索 name="typename" 的位置,并在其 后面插入与上述类似的代码,区别在于需加入 PHP 动态内容显示:
<script language='javascript' src="js/main.js"></script>
<tr id="pictable">
<td height="24" colspan="6">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="158"> 图片地址:</td>
<td width="560">
<table width="px" border="0" cellspacing="1" cellpadding="1">
<tr>
<td height="30">
<input name="typebigpic" type="text" id="picname" style="width:220px" value="<?php echo $myrow['typebigpic']?>" />
<input type="button" name="Submit2" value="站内选择" style="margin-left:8px;" onClick="SelectImage('form1.picname','');" class='np coolbg'/>
</td>
</tr>
</table>
</td>
<td width="270">
<style>
.divpre,.divpre img{height:50px;}
</style>
<img src="<?php if($myrow['typebigpic']!='') echo $myrow['typebigpic']; else echo 'images/pview.gif';?>" width="100" height="50" id="picview" name="picview"/>
</td>
</tr>
</table>
</td>
</tr>
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/}
相关文章
-
在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...2025-03-31
-
在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...2025-03-31
-
如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...2025-03-31
-
Dedecms Dede 附加表自定义字段与主表文章关联方法
在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...2025-03-31