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 表...
内容已隐藏,请关注公众号输入验证码查看
本帖支持关注公众号查看
【无套路 无套路 无套路 扫描二维码关注公众号发送【验证码】收到验证码 在上面输入点击提交查看即可显示隐藏内容】
|