dedecms實現(xiàn)"文章標題_欄目二_欄目一_網(wǎng)站名"類型標題
但發(fā)布到DEDE 5.5的時候,自帶的程序默認的是發(fā)布文章的版塊。而我做的是下載站。去網(wǎng)上DOWN了個不錯的模塊,針對DEDE 5.1、5.3、5.5通用的一個模板。里面有全部文章,商品,下載等所有模板。 下載地址:http://www.jb51.net/softs/26772.html
接著繼續(xù)發(fā)布,到發(fā)布的時候又有一個問題,發(fā)現(xiàn)發(fā)布的文章是亂碼。這個地方需要修改一個文件,打開DEDE目錄下的config.php 在最后一行加入:
//給POST變量做轉(zhuǎn)碼處理,適用于火車采集器中Urlencode發(fā)布的內(nèi)容
foreach($_POST as $key=>$value){
${$key} = $_POST[$key] = urldecode($value);
}
即可解決亂碼問題。 由于沒有考慮到DEDE提交的數(shù)據(jù)中還有FLAGS數(shù)組,上面的Urldecode操作會將FLags的值抹掉,所以,有一些用戶就會發(fā)現(xiàn)發(fā)布推薦參數(shù)時 不成功
加入這行代碼即可:
//給POST變量做轉(zhuǎn)碼處理,適用于火車采集器中Urlencode發(fā)布的內(nèi)容
foreach($_POST as $key=>$value){
!is_array($value) && ${$key} = $_POST[$key] = urldecode($value);
}
如果要遍歷數(shù)組,對所有值進行處理的話,我寫了一個遞歸函數(shù),適于用所有變量,包括變量中的數(shù)組。
function ArrayUrldecode($_POST){
foreach($_POST as $key=>$value){
if(is_array($value)){ ArrayUrldecode($value);
}else{
$_POST[$key] = urldecode($value); } }
return $_POST;
}