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

    完美解决dedecms内容页列表页调用自定义图片地址
    POST TIME:2021-05-23 01:00
    织梦dedecms调用自定义图片的时候在内容页或列表页输出的格式如下:
    <li>
    <a href='/uploads/140420/1-140420164Z2914.jpg' target='_blank'>
     <img src='/uploads/140420/1-140420164Z2914.jpg' width='253' border='0'/>
    </a>
    <br />
    <a href='/uploads/140420/1-140420164Z2914.jpg' target='_blank'></a>
    </li>
            这很难满足我们的实际需要,比如做一个幻灯片的时候会调用图集的图片,而不用默认的dedecms的图集模版,所以自己动手吧,网上查阅了很多这方面的资料,最后总结如下:
           在设置自定义字段为图片的时候一定要选“图片(仅网址)”,这样输出的格式就是
    {dede:imgtext='' width='270' height='129'}/uploads/101017/1-10101H21F54P.gif{/dede:img} 
           如果自定义字段名为:name,内容页前台这样调用:
    <img src="{dede:field.name}"/>
           输出的是
    <img src="{dede:img text=''width='270' height='129'}/uploads/101017/1-10101H21F54P.gif{/dede:img}"/>
          其实是输出的时候没有相关的php函数,找到/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.'" width="'.$width.'" height="'.$height.'" />';  
                            }  
                        }  
                    }  
                }  
            }  
            $dtp->Clear();  
            return $img;      
        }  
    }  
    保存即可。
          前台内容页格式为:
     <img alt="{dede:field.title/}" src="{dede:field.name function='GetOneImgUrl(@me,1)'/}">
           看得懂的站长容易理解,@me,0   代表只输出路径,@me,0    代表连宽、高一起输出
           同样的列表页或首页用相应的标签套进去就行了。
     
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

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

     打开微信

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