星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12640|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

dedecms织梦模型图片字段调用出现{dede:img}问题的解决方法

前言

后台模型字段,新建了一个图片字段,在aclis或lis等标签中调用此字段的时候,发现不能调用出来图片,类似于以下效果:HTML{dede:imgex=''widh='290'heigh=

后台模型字段,新建了一个图片字段,在arclist或list等标签中调用此字段的时候,发现不能调用出来图片,类似于以下效果:

HTML
{dede:img text='' width='290' height='290'} /uploads/sulve/image_a.png {/dede:img}

这样就不能显示图片了,这是织梦自定义图片字段的处理方式造成的。

要解决这个问题,我们必须得创建一个自定义函数。

解决方法一:

PHP
//提取图片路径
function GetImgUrl($img,$ftype=1){   
    if(!empty($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(!empty($imgurl)){   
                        if($ftype==1){   
                            $img .= $imgurl;   
                        }   
                        else{   
                            $img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />';   
                        }   
                    }   
                               
                }   
            }   
        }   
        $dtp->Clear();   
        return $img;       
    }   
}  

调用方法如下:

HTML
[field:customer_profile function='GetImgUrl(@me,0)'/]
调用图片的信息,包括路径、宽度和高度

[field:customer_profile function='GetImgUrl(@me,1)'/]
上面这个是仅调用图片的地址

解决方法二: 

如果不想用上面的方法,那么你需要对模型的此图片字段重新修改。此字段数据类型改为图片(仅网址)。

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/12801.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展