在使用dedecms做網(wǎng)站常常會遇到一些棘手的問題
比如:頁面圖片不顯示(src 的地址不對)等等。
1、更新網(wǎng)站時錯誤
問題:Call to a member function GetInnerText() on a non-object(在一個非對象類型上調(diào)用成員函數(shù) GetInnerText())。
原因:出現(xiàn)這個問題,是因為自定義了內(nèi)容模型,這個內(nèi)容模型里有圖片字段。當我們?nèi)ド删W(wǎng)站時,更新網(wǎng)站就會提示此錯誤。
解決:
打開 \include\taglib\channel\img.lib.php 文件
找到
$innerTmp = $arcTag->GetInnerText();
改成
$innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText());
2、網(wǎng)頁中圖片不顯示
問題:圖片 src 地址顯示不對,如:{dede:img text=\‘\‘ width=\‘270\‘ height=\‘129\‘} /uploads/161130/1-161130110AW61.jpg{/dede:img} 。
當將地址換成 網(wǎng)址+ /uploads/161130/1-161130110AW61.jpg 時,能顯示之前上傳的圖片。
原因:出現(xiàn)這個問題,是因為自定義了內(nèi)容模型,這個內(nèi)容模型里有圖片字段。并且用的是圖片,并非圖片(僅網(wǎng)址)。
解決:
打開 \include\extend.func.php 文件。
這個文件就是系統(tǒng)預留的自定義函數(shù)接口文件,主要用于二次開發(fā)用的。在該文件最后加上如下代碼:
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;  
    }  
}
然后是調(diào)用該圖片的代碼也要改變:
列表頁和首頁調(diào)用方法:
[field:bigpic function='GetOneImgUrl(@me,0)'/]  //調(diào)用圖片的信息,自動調(diào)用寬度和高度(已包含Html代碼的<img />)
[field:bigpic function='GetOneImgUrl(@me,1)'/]  //只調(diào)用圖片地址,一般可用于背景圖嵌套
內(nèi)容頁調(diào)用方法:
{dede:field name='bigpic' function='GetOneImgUrl(@me,1)'/}
對應的,在添加圖片的字段時,選擇僅網(wǎng)址.
3、增加用戶時,提示用戶名已存在
問題:在用戶組里,刪除用戶后,重新添加時,提示用戶名已經(jīng)存在。
1032021-20161202210151693-1436890551
原因:當添加用戶后,在會員中心中可以看到,該用戶也被添加進會員列表了。
2
解決:刪除添加的用戶后,同時也要刪除會員中心得注冊會員列表里的該會員。
3