织梦dede模板自定义模型 数据类型图片调用教程

DedeCMS模板制作使用实例教程,织梦dede网站内容模型普通文章调用自定义图片字段的方法(,织梦dede模板自定义模型,dedecmsV5,下面小编来给大家介绍一下,一起来了解一下吧!

(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栏目标签调用的区别。

以上就是织梦dede模板自定义模型 数据类型图片调用教程的介绍,希望大家喜欢!

更多教程关注FF推源码网。

提供最优质的资源集合

立即查看 了解详情