完美解决dede内容页列表页调用自定义图片地址

dede调用自定义图片的时候在内容页或列表页输出的格式如下: li a href=/uploads/140420/1-140420164Z2914.jpg target=_blankimg src=/uploads/140420/1-140420164Z2914.jpg width=253 border=0//a br / a href=/uploads/140420/1-140420164Z2914.jpg target
dede调用自定义图片

       dede调用自定义图片的时候在内容页或列表页输出的格式如下:

<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    代表连宽、高一起输出

       同样的列表页或首页用相应的标签套进去就行了。


本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

文章简介 因为一些原因需要自动采集数据或是自动登录,就如使用火车头自动采集文章发布到dede网站中,一时是可以发布,但是很多时候却发现过一段时间后dede又登录失败了显示未知发布,那么这时dede后台怎么才能永久自动登录呢,本文就说一下作者这里有关dede
织梦程序的SEO优化已经做的非常好了,但总有不如人意的地方,织梦默认的HTML网站地图和RSS地图就是如此。为什么说织梦默认的HTML网站地图不利于SEO优化呢?主要是因为HTML网站地图和RSS地图的目录问题。
很多朋友在使用织梦程序做网站的过程中,难免需要添加一些测试文章用于测试网站功能模板等,还有些人朋友网站改版需要变更内容的时……
DEDECMS添加自定义字段变量对于我们做网站很有用,但有时候如果我们添加了某个自定义字段变量,想要把它删除掉却不是一件容易的事,……
在网站制作过程,网站中的某些位置的内容是变动的,为了满足不同页面显示不同内容的要求,可以使用DEDECMS中的自定义变量来调用。下……
有些学员使用DEDECMS程序建网站,有时为了某种原因需要搬空间,就要进行dedecms织梦网站搬家。对于新手来说,网站程序和数据库搬家……