完整版dede自定义模型上传图片显示问题解决办法

2025-11-05 20:49:01

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.'

$dtp->Clear(); 

return $img; 

}

2、dede后台-》核心-》内容模型-》添加新缩略图字段

3、函数调用方法:

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

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

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

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

<!--只调用图片地址,一般可用于背景图嵌套-->

4、前台调用这个字段的方法,就是通过arclist标签的 channelid 与 addfields 两个参数来配合调用,运用刚才的这个函数,调用方法为:

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢