您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    dede自定义模型的部分字段无法读取
    时间:2020-04-03 11:34 作者:菜鸟哥 浏览:收藏 挑错 打印

    新建立了一个独立模型,可是突然发现模型列表中标题不能显示了,仔细分析发现并非完全不能显示,而是凡是带有中文的就不能显示。

    然后一步一步分析,发现dede在显示独立模型文章列表时对独立模型的每一个字段都经过了ChannelUnit->MakeField方法的处理,原因是独立模型文章表中,凡是联动类型字段都保存的是数值,因此,需要将其转换成对应的名称,除此之外还进行了一些其他类型字段的处理。其中包括对于type是text的字段,那dedecms 会经过 HtmlReplace()方法进行处理。

    01functionMakeField($fname, $fvalue, $addvalue='')
    02{
    03//处理各种数据类型
    04$ftype = $this->ChannelFields[$fname]['type'];
    05if($fvalue=='')
    06{
    07if($ftype != 'checkbox') $fvalue = $this->ChannelFields[$fname]['default'];
    08}
    09if($ftype=='text')
    10{
    11$fvalue = HtmlReplace($fvalue);
    12}
    13......

    问题就出在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版本好像会出问题,但也有可能是配置的问题。

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    织梦中TAG标签字数长度限制解决方法织梦中TAG标签字数长度限制解决方法
    织梦后台突然打不开或打开后空白的解决方法织梦后台突然打不开或打开后空白的解决
    织梦系统解决后台“DEDECMS安全提示”的方法织梦系统解决后台“DEDECMS安全提示”