• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦dede模板自定义模型 数据类型图片调用教程
    POST TIME:2021-05-23 02:11
    (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栏目标签调用的区别。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!