DedeCMS织梦自定义图片字段调用出现{dede:img ..},DEDECMS前台调用自定义图片

为什么在首页用自定义列表调用出来的图片字段不是正确的图片地址,而是类似于:引用
{dede:img text='' width='270' height='129'} /uploads/2020/shghnn.jpg{/dede:img}

这样的格式!
非常明显,这样是不能正确显示的,这是织梦自定义图片字段的处理方式造成的。要解决这个问题,我们必须得创建一个自定义函数,其实现方式为:

一、实现方法:

打开 /include/extend.func.php 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的?>上一行加入以下函数代码:

/****************   
  function GetOneImgUrl   
  @@ 功能:读取自定义字段图片地址   
  @@ 时间:2020-09-09 11:06  
*****************/   
   
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;
    }
}

保存后关闭即可。

二、函数调用方法

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

比如:我们的自定义图片字段名为 imgurl ,那么调用方式有以下两种:


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

[field:imgurl function='GetOneImgUrl(@me,1)'/] 

实例应用中:

{dede:arclist row='5' orderby='id' channelid='1' addfields='imgurl'}   
<li>[field:title/][field:imgurl function='GetOneImgUrl(@me,0)'/]</li>  
{/dede:arclist} 

或用SQL调用

{dede:arclist  typeid='~id~' flag = 'p'}
    [field:id runphp="yes"] 
        $row = $GLOBALS['dsql']->GetOne("Select img From `dede_addonimages` where aid=@me"); 
        @me = $row['img'];
        @me=GetOneImgUrl(@me,1);
    [/field:id]
{/dede:arclist} 

内容页模板标签调用写法

如果调用之后是如下格式

  <li>
    <a href='' target='_blank'><img src='shghnn.jpg'  border='0'/></a>
    <br />
    <a href='' target='_blank'></a>
  </li>

请修改

打开\templets\system\channel_article_image.htm 清空所有东西,只留下一个

[field:imgsrc/]

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shghnn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值