完美解决dedecms内容页列表页调用自定义图片地址
织梦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=http://www.dede58.com/a/dedejq/"{dede:field.name}"/>
输出的是
<img src=http://www.dede58.com/a/dedejq/"{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=http://www.dede58.com/a/dedejq/"{dede:field.name function='GetOneImgUrl(@me,1)'/}">
看得懂的站长容易理解,@me,0 代表只输出路径,@me,0 代表连宽、高一起输出
- 上一篇:实现复制文档内容自动加版权信息的实现方法
- 下一篇:手机版本网站与手机分辨率自适应
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
- 织梦dede首页列表页获取文章对应的tag标签
- 织梦dede导航栏目顶级和二级判断二级输出不同url
- 织梦dede标签array runphp静态生成乱码BUG解决方法
- 织梦dede如何禁止会员发布文章内容带超链接
- 织梦ajax跨域提交自定义表单和跨域验证码问题
- 织梦CMS MIP文章内容页图片适配百度MIP规范
- 织梦CMS时间格式实现XX秒前、XX分钟前、XX天前
- 织梦DedeCMS更新系统缓存增加清理沉余缓存的功能
- 织梦CMS让channelartlist标签支持currentstyle属性的
- 织梦dede自带编辑器替换百度ueditor编辑器
- 织梦DEDECMS整站动态化或整站静态化设置方法
- 织梦dede 模板路径templets目录都有什么?