网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>dedecms教程

Dedecms添加两张缩略图及自定义图片字段的方法

时间:2025-03-30 16:02:14    来源:    人气:0

在使用Dedecms进行内容管理时,自定义图片字段的处理是一个常见的需求。本文将详细介绍如何通过创建自定义函数来正确调用图片字段,并解决图片地址格式不正确的问题。

在实际操作中,有些用户发现通过自定义列表获取的图片字段并非正确的图片地址,而是类似以下格式:

{dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}

这种格式显然无法直接显示图片,因此需要采取特定的方法来解决问题。


为了解决这一问题,我们需要创建一个自定义函数。以下是具体步骤:

1. 创建自定义函数

打开 /include/extend.func. 文件(如果是老版本,默认可能没有这个文件,可以自行创建一个PHP文件)。在文件的末尾添加以下代码:


function GetOneImgUrl($img,$ftype=1){
    if($img <> ''){
        $dtp = new DedeTagParse();
        $dtp->LoadSource($img);
        if(is_array($dtp->CTags)){
            foreach($dtp->CTags as $ctag){
                if($ctag->GetName()=='img'){
                    $width = $ctag->GetAtt('width');
                    $height = $ctag->GetAtt('height');
                    $imgurl = trim($ctag->GetInnerText());
                    $img = '';
                    if($imgurl != ''){
                        if($ftype==1){
                            $img .= $imgurl;
                        }
                        else{
                            $img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />';
                        }
                    }
                }
            }
        }
        $dtp->Clear();
        return $img;
    }
}
    


2. 函数调用方法

该函数可以通过以下方式调用:

[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]

例如,如果自定义图片字段名为 imgurl ,那么有两种调用方式:

[field:imgurl function='GetOneImgUrl(@me,0)'/] <!-- 调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />)-->

[field:imgurl function='GetOneImgUrl(@me,1)'/] <!-- 只调用图片地址,一般可用于背景图嵌套 -->


【示例演示】

1. 模型字段添加

进入网站后台,点击[核心]——[内容模型管理],选择“普通文章”并点击“更改”按钮。在编辑界面切换到“字段管理”选项,点击“添加新字段”。完成字段创建后,在增加或编辑文档时即可看到该字段。

上传好需要显示的图片并保存。


2. 前台调用

前台调用自定义字段通常通过arclist标签实现,结合 channelid 与 addfields 参数。以下是一个示例:

{dede:arclist row='2' channeld='1' addfields='自定义字段1,自定义字段2'}

底层模板 insertext

{/dede:arclist}

结合刚才创建的函数,调用方法如下:

{dede:arclist row='5' orderby='id' channelid='1' addfields='imgurl'}

< li>[field:title/][field:imgurl function='GetOneImgUrl(@me,0)'/]</li>

{/dede:arclist}

以上方法可以帮助您正确调用自定义图片字段,确保图片能够正常显示。

相关文章

  • Dedecms 删除文档时同时清除文章中图片的方法

    Dedecms 删除文档时同时清除文章中图片的方法

    在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...
    2025-03-31
  • Dedecms上传图片提示302错误ERROR的解决方法

    Dedecms上传图片提示302错误ERROR的解决方法

    在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...
    2025-03-31
  • DEDECMS模板使用教程

    DEDECMS模板使用教程

    如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...
    2025-03-31
  • Dedecms Dede 附加表自定义字段与主表文章关联方法

    Dedecms Dede 附加表自定义字段与主表文章关联方法

    在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...
    2025-03-31

公众号