DedeCMS织梦

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

阿里云

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

  1. {dede:img text='' width='290' height='290'} /uploads/sulve/image_a.png {/dede:img}
也想出现在这里?联系我们
创客主机


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

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

解决方法一:

  1. //提取图片路径
  2. function GetImgUrl($img,$ftype=1){   
  3.     if(!empty($img)){ 
  4.         $dtp = new DedeTagParse();   
  5.         $dtp->LoadSource($img);   
  6.         if(is_array($dtp->CTags)){
  7.             foreach($dtp->CTags as $ctag){   
  8.                 if($ctag->GetName()=='img'){   
  9.                     $width = $ctag->GetAtt('width');   
  10.                     $height = $ctag->GetAtt('height');   
  11.                     $imgurl = trim($ctag->GetInnerText());   
  12.                     $img = '';   
  13.                     if(!empty($imgurl)){   
  14.                         if($ftype==1){   
  15.                             $img .= $imgurl;   
  16.                         }   
  17.                         else{   
  18.                             $img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />';   
  19.                         }   
  20.                     }   
  21.  
  22.                 }   
  23.             }   
  24.         }   
  25.         $dtp->Clear();   
  26.         return $img;       
  27.     }   
  28. }

调用方法如下:

  1. [field:customer_profile function='GetImgUrl(@me,0)'/]
  2. 调用图片的信息,包括路径、宽度和高度
  3.  
  4. [field:customer_profile function='GetImgUrl(@me,1)'/]
  5. 上面这个是仅调用图片的地址

解决方法二:

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

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

已有 167 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!