在用织梦DEDECMS建网站时,经常需要灵活布局调用一些图片内容,而默认后台能调用的图片只有缩略图一个选项。因此,如果我们想在页面上调用更多的图片内容,就需要自己增加图片字段了。增加字段的方法为:网站后台》》核心》》频道模型》》内容模型管理》》普通文章》》字段管理》》添加新字段,这里仅仅是以文章模型为例,更具体的添加方法就不一一赘述了。本篇文章关注的焦点,在于添加自定义图片字段后,后台编辑文章报错及前台调用网址出错的问题。
首先是第一个问题:
DEDECMS新增字段后,发布的文章无法修改报错Fatal error: Call to a member function GetInnerText() on string in XXXXX\include\customfields.func.php on line 539.
发布的文章无法编辑、无法修改,不显示。
解决办法:
打开\include\customfields.func.php文件,找到539行:
把
$fvalue = trim($ntag->GetInnerText());
替换成:
$fvalue = ($ntag==””) ? trim($ntag) :trim($ntag->GetInnerText());
问题解决!
然后是第二个问题:
用field调用前端显示的不是纯图片路径,含有li、a等前端标签。调用方法如下:
调用方法:
{dede:field.字段名称/}
前端默认显示:
<li>
<a href=’/uploads/allimg/180330/a1.jpg’ target=’_blank’><img src=’/uploads/allimg/180330/a1.jpg’ width=’651′ border=’0’/></a>
<br />
<a href=’/uploads/allimg/180330/a1.jpg’ target=’_blank’></a>
</li>
想要变成正常显示效果:/uploads/allimg/180330/a1.jpg
修改方法:
找到:/templets/system/channel_article_image.htm打开,内容为:
<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/]
问题解决!
其实,如果不想那么麻烦,完全可以在增加字段的时候选择“图片(仅网址)”,这样增加的字段虽然在调用时不会有显示问题,但在后台操作时就需要粘贴现成的网址,不能直接上传图片,所以如果有现成网址的话可以推荐这种方式,免得改上面的代码。不过,如果想要一劳永逸的话,还是推荐改代码的方式,操作熟练的话也是几分钟的事情。
最新评论
如果是真的那就太好了
现在是短视频的时代,认真做个人博客的很少见了,真是难能可贵。
拼多多砍几刀太烦了,一直让砍
投资就是认知的变现
不要把幸福建立在别人的痛苦之上
地震能把铁路都震弯
知道了
这样的问题居然还需要分析?但凡脑子正常点也知道公司无责