120词汇网 - 网络热门词汇免费分享社区!

120词汇网

当前位置: 主页 > 涨知识 >

织梦dede自定义模型 数据类型图片调用方法

时间:2018-03-01 12:29来源:www.120cihui.cn 作者:120词汇网编辑 阅读: 在线编辑
搜索

(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 频道调用 是在内容模型里管理,频道名称的前面也有一个id,这个ID用 channelid调用。

Dedecms属性标签channelid和typeid的区别

这个调用需要频道里面有子栏目才可以的。
而typeid 就是纯粹的栏目调用 可以调用里面的文章

Dedecms属性标签channelid和typeid的区别

这个就是 channelid频道和typeid栏目标签调用的区别。

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容
广告位