dedecms的前臺會員發(fā)布文章的功能,用ckeditor就有點問題了,會員上傳圖片,用ckeditor的話,非管理員賬號點擊上傳圖片按鈕時會彈出:提示:需輸入后臺管理目錄才能登錄,真的是很郁悶啊,遇到此問題的朋友可以看看哦
1.dedecms5.7默認的編輯器變成ckeditor了,我個人感覺ckeditor比FCKeditor好,對這次變更還是挺滿意的。
不過dedecms的前臺會員發(fā)布文章的功能,用ckeditor就有點問題了,本身給前臺會員投稿不需要太多的功能,還有就是會員上傳圖片,用ckeditor的話,非管理員賬號點擊上傳圖片按鈕時會彈出:提示:需輸入后臺管理目錄才能登錄,網(wǎng)上看到的解決方法是
注釋掉“/include/dialog/congig.php”中的以下代碼:
代碼如下:
if($cuserLogin->getUserID()<=0)
{
if(empty($adminDirHand))
{
ShowMsg("<b>提示:需輸入后臺管理目錄才能登錄</b><br/><form>請輸入后臺管理目錄名:<inputtype='hidden'value='".urlencode($dedeNowurl)."'/><inputtype='text'value='mgr'/><inputtype='submit'value='轉(zhuǎn)入登錄'/></form>","javascript:;");
exit();
}
$gurl="../../{$adminDirHand}/login.php?gotopage=".urlencode($dedeNowurl);
echo"<scriptlanguage='javascript'>location='$gurl';</script>";
exit();
}
但是這樣沒有登錄的用戶也能顯示那個頁面了,雖然有一個報錯。還有就是所有的用戶都可以直接看到上傳根目錄下的所有文件,這樣安全性大大降低了。于是,開始懷戀FCKeditor的前臺上傳圖片功能,上傳文件是用戶單獨的目錄下,也沒有權(quán)限問題,所以決定讓后臺繼續(xù)用ckeditor,前臺用戶使用FCKeditor。
在網(wǎng)站目錄\include\inc\inc_fun_funAdmin.php文件中,找到139行,functionSpGetEditor函數(shù),if($GLOBALS['cfg_html_editor']=='fck')換成if($GLOBALS['my_html_editor']=='fck'||$GLOBALS['cfg_html_editor']=='fck'),然后再前面
代碼如下:
if(!isset($GLOBALS['cfg_html_editor']))
{
$GLOBALS['cfg_html_editor']='fck';
}
接著跟上一句
代碼如下:
if(!isset($GLOBALS['my_html_editor']))
{
$GLOBALS['my_html_editor']='0';
}
然后在需要使用FCKeditor的文件上方加上$GLOBALS['my_html_editor']='fck';比如要在會員普通文章中使用這個編輯器,則在article_add.php最上方加上$GLOBALS['my_html_editor']='fck';
刷新一下頁面,成功。
說明:dedecms5.7自帶沒有FCKeditor,可以從5.6版本中提取,放在include目錄下。
2.此問題是從5.6升級到5.7再導入老數(shù)據(jù)庫3表(附加表,主表,微表)后出的問題。
因為DEDECMS5.7比5.6文章多了投票,所以archives表多了一個votid字段。
所以必須增加這個字段。否則發(fā)布或修改文章的時候會提示更新dede_archives出錯。
解決辦法:
請在后臺SQL命令行輸入以下命令后運行:
代碼如下:
ALTERTABLE`dede_archives`ADD`voteid`mediumint(8)NOTNULL;
執(zhí)行以上命令之后,問題就能完美解決。
另外,升級還有類似dede后臺目錄對應(yīng)的問題,默認dede后臺目錄,你得把升級文件中dede目錄的文件上傳到你自己設(shè)置的后臺目錄中。
5.6的默認模板同樣可以在5.7中適用,只要編碼相同,直接上傳更新即可