織夢園模板網提供云優cms模板,pbootcms模板,Wordpress主題模板等各類企業新聞資訊網站模板下載服務。織夢園網站模板交流群
用戶名:
密碼:
注冊
注冊后享受折扣價

織夢dede讓頻道自動跳轉到第一個子欄目

織夢園模板 / 2021-09-26 / 收藏
平時做網站的時候,難免遇上一些特殊情況,默認的CMS是無法實現的,這時就需要改程序,就比如說,讓頻道自動跳轉到***個子欄目,當我還對DEDECMS不熟悉的時候,采用了一個***笨的方法,用JS去跳轉,這對優化***不好。但是反正客戶不懂,效果能實現就OK了。
今天我就來說說用如果通過修改源碼來簡單實現,其實DEDECMS在數據庫表@#_arctype中,是否為頻道,是用ispart這個字段去保存的,它有3個值(0,-1,1),對應的網站后臺的 頻道封面、***終欄目、外部連接。
所以我們只需要在程序中對ispart進行一個簡單的判斷,就OK。廢話不多說了,
 
打開/include/helpers/channelunit.helper.php 打開下面的代碼  GetOneTypeUrlA函數
/**
 *  獲取某欄目的url
 *
 * @param     array  $typeinfos  欄目信息
 * @return    string
 */
function GetOneTypeUrlA($typeinfos)
{
	global $dsql;
	if($typeinfos['ispart']==1) {
		$typeinfos = $dsql->GetOne('select * from idea_arctype where reid='.$typeinfos['id'].'
            ORDER BY sortrank');
	}
    return GetTypeUrl($typeinfos['id'],MfTypedir($typeinfos['typedir']),
$typeinfos['isdefault'],$typeinfos['defaultname'],
    $typeinfos['ispart'],$typeinfos['namerule2'],
$typeinfos['moresite'],$typeinfos['siteurl'],$typeinfos['sitepath']);
}

就這樣OK了~! 但是這樣頻道封面就沒有用了,其實我們還可以去給ispart增加一個其它的值,比如“2”來代表需要跳轉到***個子欄目的,把程序中的$typeinfos['ispart']==1改成$typeinfos['ispart']==2就OK了。

相關輔助文檔

收縮
fun88体育网