使用dedecms中常见错误提示及解决办法
Posted 艾前端
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用dedecms中常见错误提示及解决办法相关的知识,希望对你有一定的参考价值。
在使用 dedecms 做网站时,常常会遇到一些棘手的问题,比如:页面图片不显示(src 的地址不对)等等。
1. 更新网站时错误
问题:Call to a member function GetInnerText() on a non-object(在一个非对象类型上调用成员函数 GetInnerText())。
原因:出现这个问题,是因为自定义了内容模型,这个内容模型里有图片字段。当我们去生成网站时,更新网站就会提示此错误。
解决:打开 \\include\\taglib\\channel\\img.lib.php 文件,将 $innerTmp = $arcTag->GetInnerText(); 更改为 $innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText()); 我的版本是 V5.7-UTF8-SP1,在第 51 行。
2. 网页中图片不显示
问题:图片 src 地址显示不对,如:{dede:img text=\\‘\\‘ width=\\‘270\\‘ height=\\‘129\\‘} /uploads/161130/1-161130110AW61.jpg{/dede:img} 。当将地址换成 网址+ /uploads/161130/1-161130110AW61.jpg 时,能显示之前上传的图片。
原因:出现这个问题,是因为自定义了内容模型,这个内容模型里有图片字段。并且用的是图片,并非图片(仅网址)。
解决:打开 \\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; } }
然后是调用该图片的代码也要改变:
列表页和首页调用方法:
[field:bigpic function=\'GetOneImgUrl(@me,0)\'/] 调用图片的信息,自动调用宽度和高度(已包含html代码的<img />)
[field:bigpic function=\'GetOneImgUrl(@me,1)\'/] 只调用图片地址,一般可用于背景图嵌套
内容页调用方法:
{dede:field name=\'bigpic\' function=\'GetOneImgUrl(@me,1)\'/}
对应的,在添加图片的字段时,选择仅网址.
3. 增加用户时,提示用户名已存在
问题:在用户组里,删除用户后,重新添加时,提示用户名已经存在。
原因:当添加用户后,在会员中心中可以看到,该用户也被添加进会员列表了。
解决:删除添加的用户后,同时也要删除会员中心得注册会员列表里的该会员。
以上是关于使用dedecms中常见错误提示及解决办法的主要内容,如果未能解决你的问题,请参考以下文章
Linux系统环境下安装dedecms(织梦)提示http500错误的解决办法
dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法
NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段
如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法