织梦dedecms自定义模型的部分字段无法读取
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
新建立了一个独立模型,可是突然发现模型列表中标题不能显示了,仔细分析发现并非完全不能显示,而是凡是带有中文的就不能显示。
然后一步一步分析,发现dede在显示独立模型文章列表时对独立模型的每一个字段都经过了ChannelUnit->MakeField方法的处理,原因是独立模型文章表中,凡是联动类型字段都保存的是数值,因此,需要将其转换成对应的名称,除此之外还进行了一些其他类型字段的处理。其中包括对于type是text的字段,那dedecms 会经过 HtmlReplace()方法进行处理。
function MakeField($fname, $fvalue, $addvalue=”)
{
//处理各种数据类型
$ftype=$this->ChannelFields[$fname][‘type’];
if($fvalue==”)
{
if($ftype !=’checkbox’) $fvalue=$this->ChannelFields[$fname][‘default’];
}
if($ftype==’text’)
{
$fvalue=HtmlReplace($fvalue);
}
……
问题就出在HtmlReplace方法中。某些时候HtmlReplace的中文转换是有问题的。
HtmlReplace
(>=DedeCMS 5.5)
函数名:HtmlReplace
功能:去除html中不规则内容字符
参数:
$str=” 需要处理的字符串
$rptype=0 返回类型
$rptype=0 表示仅替换 html标记
$rptype=1 表示替换 html标记同时去除连续空白字符
$rptype=2 表示替换 html标记同时去除所有空白字符
$rptype=-1 表示仅替换 html危险的标记
返回值:
格式化后的字符串
注:其实貌似HtmlReplace出现问题与否跟php的版本是有关系的,最新的php版本好像会出问题,但也有可能是配置的问题。
大家都说这是因为织梦代码优化不好怎么着怎么着的,其实有一些是因为这个原因,但不是完全因为这个。
dede登录后台卡死原因分析
登录完后台,加载的分别为顶部、左侧、右侧内容三个部分。
顶部只是简单的查询一下权限不会卡、左侧也是简单的查询了一下也不会卡,那么原因就是出在右侧内容部分了。那么是因为什么原因引起的呢?我们在右侧会发现有《信息统计》、最新文档、系统版本等信息。
信息统计,很有可能会卡,主要是因为查询四五个表左右,而查询的这些表中如果数据比较多的话,那么可能就会引起卡或是卡死的情况。
最新文档,不是很有可能。
更新信息,如果权限设置不好,在读写时可能会引起卡死情况。
最好的解决方法就是把所有显示的信息全部都删除,这样一来不管是什么原因,在登录后中间就不会查询数据库了,也就不会在卡了。
dede后台卡/假死解决
第1步:打开ftp软件,输入正常的ftp登录帐号和密码及端口号成功到网站中。
第2步:打开dede网站的后台目录dede。
注:dede为dede默认的后台目录,如果是正常使用的网站可能dede目录已经修改。
第3步:在dede目录中找到index_body.php文件,并下载下来。
第4步:把文章中所有的代码全删除掉,并替换为以下代码并保存。
复制代码代码如下:
echo “”;
?>
使用织梦程序,换了空间后,出现“dede网站搬家后出现/include/templets/default/index.htm Not Found!”
下面分享解决办法,希望对遇到类似问题的朋友能快速解决:
因为在网站后台把DedeCMS安装目录修改了
把/data/config.cache.inc.php中
$cfg_cmspath=’/dev57′;改为$cfg_cmspath=’/’;
就引发了上述的错误。
解决方法:
在/data/config.cache.inc.php中
改为$cfg_cmspath=”;
使用织梦建站的朋友,不知道你们是否注意到,如果网站做大内容比较多时,使用织梦自带的搜索功能会非常慢了,那到底是怎么回事呢,下面笔者给大家分析下 原因和解决办法?
1、产生原因
新增了利用“配置sphinx技术”的文档“全文检索”的功能,并且默认打开了此功能。而大多数的用户站点中,又没有配置或没有条件配置全文索引技术,这就造成了每次前台在搜索的时候都去连接Sphinx服务器,而这个服务器却又不存在。造成了搜索非常慢。
2、解决方案
登录网站后台,点击【系统】选项卡,进入“系统基本参数”页面,点击“其它选项”,找到“是否启用文章全文检索功能(需配置sphinx服务器):”,将其设置为“否”,保存即可。