大多數(shù)的人用dedecms的靜態(tài)列表形式展示,當(dāng)然也可以用動(dòng)態(tài)列表更方便管理,做好偽靜態(tài)對(duì)搜索引擎更友好。但是發(fā)現(xiàn)V5.7版本對(duì)“動(dòng)態(tài)發(fā)布文章”和“自動(dòng)獲取關(guān)鍵字”的選項(xiàng)控制性并不好,網(wǎng)上找到的方法也沒有能實(shí)現(xiàn)這兩個(gè)功能,自己動(dòng)手修改一下就搞定了:
1.用SQL命令,將所有文檔設(shè)置為“僅動(dòng)態(tài)”
update dede_archives set ismake=-1; update dede_arctype set isdefault=-1;
這個(gè)方法修改已經(jīng)發(fā)布的數(shù)據(jù)庫里面的內(nèi)容,再發(fā)布新內(nèi)容仍舊是自動(dòng)選擇靜態(tài)瀏覽,只能修改發(fā)布模板里面選項(xiàng)。
2.直接修改發(fā)布和修改程序(推薦)
album_add.htm 發(fā)表圖集模板 archives_add.htm 發(fā)表通用文檔模板 article_add.htm 發(fā)表普通模板 archives_sg_add.htm 發(fā)表特殊類文章模板
找到對(duì)應(yīng)的模板將代碼:
<input name="ishtml" type="radio" class="np" value="1" checked="1" />//生成html
<input type="radio" name="ishtml" class="np" value="0" />//動(dòng)態(tài)瀏覽
修改為
<input name="ishtml" type="radio" class="np" value="1" />//生成html
<input type="radio" name="ishtml" class="np" value="0" checked='1'/>//動(dòng)態(tài)瀏覽
其他的模板就不重復(fù)了。上面checked方法,擴(kuò)展一下解決DedeCMS自動(dòng)獲取關(guān)鍵字的問題。
3.去除自動(dòng)獲取關(guān)鍵字
DedeCMS自動(dòng)獲取關(guān)鍵字很麻煩,基本上產(chǎn)生的都是亂七八糟的關(guān)鍵字,特別對(duì)TAG標(biāo)簽的整合更麻煩(TAG實(shí)際上是文章關(guān)鍵字)。有些版本V5.7在后臺(tái)已經(jīng)取消了“自動(dòng)獲取關(guān)鍵字”選擇了,也就是說默認(rèn)自動(dòng)獲取。網(wǎng)上也有修改data文件夾的辦法,但是測(cè)試后也依然無效。下面是秀站網(wǎng)測(cè)試過正確的方法,支持發(fā)布和編輯兩種模板取消“自動(dòng)獲取關(guān)鍵字”。
發(fā)布模板取消自動(dòng)獲取關(guān)鍵字
在article_add.htm,找到
<td><input name="autokey" type="checkbox" onClick="ShowHide('keywords');"; class="np" id="autokey" value="1"<?php if($cfg_arc_autokeyword=='Y') echo ' checked="1" '; ?>/>自動(dòng)獲取,手動(dòng)填寫用","分開<br/>
修改成
<td><input name="autokey" type="checkbox" onClick="ShowHide('keywords');"; class="np" id="autokey" value="1" />自動(dòng)獲取,手動(dòng)填寫用","分開<br/>
這種實(shí)際上和修改data文件夾里面的config.cache.bak.php原理是一樣的,其他發(fā)布模板對(duì)應(yīng)的修改即可。
編輯模板取消自動(dòng)獲取關(guān)鍵字
做了上面的修改之后,如果再次編輯文章,關(guān)鍵詞為空后仍然會(huì)自動(dòng)獲取關(guān)鍵字。查看編輯模板并沒有發(fā)現(xiàn)這類型的判斷,于是在article_edit.php,找到
//對(duì)保存的內(nèi)容進(jìn)行處理 $pubdate = GetMkTime($pubdate); $sortrank = AddDay($pubdate,$sortup); $ismake = $ishtml==0 ? -1 : 0; $autokey = 1;
可以看到
$autokey =1;
又變成自動(dòng)獲取了,可以注釋掉或者把值修改為“0”;
$autokey = 0;
發(fā)布、編輯模板增加獲取關(guān)鍵詞按鈕
上面的修改后用戶就不能通過手動(dòng)輸入關(guān)鍵詞,可以增加選擇"系統(tǒng)關(guān)鍵字"按鈕,參考artcle_add.htm模板。
在相應(yīng)的編輯模板下面找到
<td width="90" height="51"> 關(guān)鍵字:</td>
下面增加
<td><input type="text" name="keywords" id="keywords" style="width:60%" value="<?php echo $arcRow["keywords"]?>" /></td>
全站動(dòng)態(tài)發(fā)布文章和取消自動(dòng)獲取關(guān)鍵字總結(jié)
<input type='text' name='' check='1'>對(duì)后臺(tái)模板修改容易實(shí)現(xiàn),如果對(duì)模板不熟悉的話進(jìn)來不要修改源文件,以免發(fā)生不必要的錯(cuò)誤。對(duì)于其實(shí)看的到,對(duì)于是否勾選dede有用<?php?>進(jìn)行判斷,實(shí)在沒轍了才修改后臺(tái)模板。關(guān)于偽靜態(tài)的修改可以看以下文章:
《DEDECMS Tag標(biāo)簽偽靜態(tài)規(guī)則在Apache中的實(shí)現(xiàn)方法》