
织梦DEDECMS增加自定义图片字段后文章无法修改,以及调用图片地址出错的解决方法
在用织梦DEDECMS建网站时,经常需要灵活布局调用一些图片内容,而默认后台能调用的图片只有缩略图一个选项。因此,如果我们想在页面上调用更多的图片内容,就需要自己增加图片字段了。增加字段的方法为:网站后台》》核心》》频道模型》》内容模型管理》》普通文章》》字段管理》》添加新字段,这里仅仅是以文章模型为例,更具体的添加方法就不一一赘述了。本篇文章关注的焦点,在于添加自定义图片字段后,后台编辑文章报错及前台调用网址出错的问题。 首先是第一个问题: DEDECMS新增字段后,发布的文章无法修改报错Fatal error: Call to a member function GetInnerText() on string in XXXXX\include\customfields.func.php on line 539. 发布的文章无法编辑、无法修改,不显示。 DEDECMS报错 Fatal error: Call to a member function GetInnerText() 解决办法: 打开\include\customfields.func.php文件,找到539行: 把 $fvalue = trim($ntag->GetInnerText()); 替换成: $fvalue = ($ntag=="") ? trim($ntag) :trim($ntag->GetInnerText()); 问题解决! 然后是第二个问题: 用field调用前端显示的不是纯图片路径,含有li、a等前端标签。调用方法如下: 调用方法: {dede:field.字段名称/} 前端默认显示: 想要变成正常显示效果:/uploads/allimg/180330/a1.jpg 修改方法: 找到:/templets/system/channel_article_image.htm打开,内容为: \[field:text /\] 直接全部删除,只保留: [field:imgsrc/] 问题解决! 其实,如果不想那么麻烦,完全可以在增加字段的时候选择“图片(仅网址)”,这样增加的字段虽然在调用时不会有显示问题,但在后台操作时就需要粘贴现成的网址,不能直接上传图片,所以如果有现成网址的话可以推荐这种方式,免得改上面的代码。不过,如果想要一劳永逸的话,还是推荐改代码的方式,操作熟练的话也是几分钟的事情。