{dede:img text='' width='290' height='290'} /uploads/sulve/image_a.png {/dede:img}
后台模型字段,新建了一个图片字段,在 arclist 或 list 等标签中调用此字段的时候,发现不能调用出来图片,类似于以下效果:
{dede:img text='' width='290' height='290'} /uploads/sulve/image_a.png {/dede:img}
这样就不能显示图片了,这是织梦自定义图片字段的处理方式造成的。
要解决这个问题,我们必须得创建一个自定义函数。
解决方法一:
//提取图片路径
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;
}
}
调用方法如下:
[field:customer_profile function='GetImgUrl(@me,0)'/]
调用图片的信息,包括路径、宽度和高度
[field:customer_profile function='GetImgUrl(@me,1)'/]
上面这个是仅调用图片的地址
解决方法二:
如果不想用上面的方法,那么你需要对模型的此图片字段重新修改。此字段数据类型改为图片(仅网址)。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!