详细解说Dede自定义模型无法读取字段的操作步骤

来源:爱站网时间:2020-07-15编辑:网友分享
我们在网站建设的时候,建立新的模型可能是无法显示的,这个时候我们就要一步步去找原因了,今天爱站技术频道小编为大家详细解说Dede自定义模型无法读取字段的操作步骤,一起进入下文学习吧!

我们在网站建设的时候,建立新的模型可能是无法显示的,这个时候我们就要一步步去找原因了,今天爱站技术频道小编为大家详细解说Dede自定义模型无法读取字段的操作步骤,一起进入下文学习吧!

然后一步一步分析,发现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自定义模型无法读取字段的操作步骤,到这里就结束了,爱站技术频道每天都更新了很多专业的知识给到大家,收藏我们给你带来更多的惊喜。

上一篇:教你在织梦调动公共区域的模板的实现方法

下一篇:dedecms实现统计购物车数量的情况

您可能感兴趣的文章

相关阅读

查看更多 >