DeDeCMS列表页文章页调用附加图片字段的方法
本文关键字: dedecms, 图片字段, 图片调用转自网络。
常情况下,在列表页(也就是{dede:list}标签)调用附加的图片类型字段则会出现Fatal error: Call to a member function GetInnerText() on a non-object in /include/taglib/channel/img.lib.php”此类错误,解决方案如下:
打开/include/taglib/channel/img.lib.php文件并找到
$innerTmp = $arcTag->GetInnerText(); |
将其修改为
$innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText()); |
<li> <a href='[field:linkurl/]' target='_blank'><img src='[field:imgsrc/]' [field:imgwidth /] border='0'/></a> <br /> <a href='[field:linkurl/]' target='_blank'>[field:text /]</a> </li>
将其修改为
[field:imgsrc/] 或者是在文章页调用的时候直接调用底层模板
{dede:field.字段名} <a class="" href='[field:linkurl/]' target='_blank'><img src='[field:imgsrc/]' [field:imgwidth /] border='0'/></a> {/dede:field.字段名}
即可调用到纯粹的图片路径了。
另外要注意的是,如果{dede:list}里面无法取出附加字段,一般是因为#@__channeltype表中listfields字段中未添加附加字段名称造成的。
如果图片为空时,调用会显示“无图片信息!”,我们让他显示暂无图片,可以修改include/taglib/channel下面的img.lib.php
找到以下这句代码
return “无图片信息!”;
替换成
return “<a href=’javascript:()’><img width=’503′ height=’411′ src=’/images/defaultpic.gif’></a>”;
当无图片时候就调用出来了暂无图片。