|
织梦dedecms调用自定义图片的时候在内容页或列表页输出的格式如下:
[*,
[url=/uploads/140420/1-140420164Z2914.jpg,
[/url]
[url=/uploads/140420/1-140420164Z2914.jpg,[/url]
这很难满足我们的实际需要,比如做一个幻灯片的时候会调用图集的图片,而不用默认的dedecms的图集模版,所以自己动手吧,网上查阅了很多这方面的资料,最后总结如下:
在设置自定义字段为图片的时候一定要选“图片(仅网址)”,这样输出的格式就是
{dede:imgtext='' width='270' height='129'}/uploads/101017/1-10101H21F54P.gif{/dede:img}
如果自定义字段名为:name,内容页前台这样调用:
[img][/img]
输出的是
[img][/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][/img]
';
}
}
}
}
}
$dtp->Clear();
return $img;
}
}
保存即可。
前台内容页格式为:
[img][/img]
看得懂的站长容易理解,@me,0 代表只输出路径,@me,0 代表连宽、高一起输出
同样的列表页或首页用相应的标签套进去就行了。 |
|