我们在使用织梦dedecms制作网站时,经常需要自定义一下图片字段,因为织梦默认的一张图片无法满足实际需求。但是,问题就来了,我们自定义的图片字段,默认情况下是带着其它属性的,比如说图片的长和宽。那么我们如何直接调用织梦dede自定义图片字段地址呢?
1、首先我们需要创建一个自定义函数
找到:/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;
}
}
2、直接调用织梦dede自定义图片字段地址的方法
刚才我们已经创建一个自定义函数来直接调用图片地址,具体调用方法如下:
[field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]
比如:我们的自定义图片字段名为 picurl ,那么调用方式有以下两种:
[field:picurl function=’GetOneImgUrl(@me,0)’/] <!–调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />标签)–>
[field:picurl function=’GetOneImgUrl(@me,1)’/] <!–只调用图片地址,一般可用于背景图嵌套–>