(5.7sp1版测试通过)织梦DedeCMS网站内容模型普通文章调用自定义图片字段的方法:
方法一:我们首先需要创建一个自定义函数,
找到:/include/extend.func.php ,在< ?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.'" width="'.$width.'" height="'.$height.'" />'; } } } } } $dtp->Clear(); return $img; } } |
保存就可
调用实例:
{dede:arclist addfields='pro_img1,pro_img2' channelid='1' } <img src="[field:pro_img1 function='GetOneImgUrl(@me,1)'/]" width="100" height="100" /> <a href="[field:pro_img2 function='GetOneImgUrl(@me,1)'/]"><img src="[field:pro_img2function='GetOneImgUrl(@me,1)'/]" width="100" height="100" /></a> {/dede:arclist} |
channelid='1'说明一下是频道前面的id数字
'pro_img1,pro_img2' 这些是图片字段替换成你的就可
方法二:
利用正则表达式来
{dede:arclist addfields='pro_img1' channelid='1' } <img src="[field:pro_img1 runphp='yes'] $ndtp = new DedeTagParse(); $ndtp->LoadSource(@me); $ntag = $ndtp->GetTag("img"); @me = trim($ntag->GetInnerText()); [/field:pro_img1]" width="100" height="100" /> {/dede:arclist} |
缺点只能保存一个 优点不用去改动源核心文件
channelid和typeid区别
channelid
这个调用需要频道里面有子栏目才可以的。
而typeid
这个就是 channelid频道和typeid栏目标签调用的区别。
版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!
转载请注明: 织梦dede自定义模型 数据类型图片调用方法