zoukankan      html  css  js  c++  java
  • 使用dedecms中常见错误提示及解决办法(一)

    在使用 dedecms 做网站时,常常会遇到一些棘手的问题,比如:页面图片不显示(src 的地址不对)等等。

    1. 更新网站时错误

    问题:Call to a member function GetInnerText() on a non-object(在一个非对象类型上调用成员函数 GetInnerText())。

    原因:出现这个问题,是因为自定义了内容模型,这个内容模型里有图片字段。当我们去生成网站时,更新网站就会提示此错误。

    解决:打开 include aglibchannelimg.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 时,能显示之前上传的图片。

    原因:出现这个问题,是因为自定义了内容模型,这个内容模型里有图片字段。并且用的是图片,并非图片(仅网址)。

    解决:打开 includeextend.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. 增加用户时,提示用户名已存在

    问题:在用户组里,删除用户后,重新添加时,提示用户名已经存在。

    原因:当添加用户后,在会员中心中可以看到,该用户也被添加进会员列表了。

    解决:删除添加的用户后,同时也要删除会员中心得注册会员列表里的该会员。

  • 相关阅读:
    MVC与MVVM
    js正则删除字符串中的部分内容(支持变量和特殊符号)
    小程序之rpx适配方案
    表单元素内容禁用拼写检查
    vue组件实例的生命周期
    Windows下生成目录结构树命令
    DRF之解析器源码解析
    restful规范快速记忆
    python报错之OSError
    xlrd、xlwt
  • 原文地址:https://www.cnblogs.com/xinjie-just/p/6118861.html
Copyright © 2011-2022 走看看