織夢dede讓頻道自動跳轉到第一個子欄目,DEDE技術
導讀:DEDE技術DEDE技術平時做網站的時候,難免遇上一些特殊情況,默認的CMS是無法實現的,這時就需要改程序,就比如說,讓頻道自動跳轉到第一個子欄目,當我還對DEDECMS不熟悉的時候,dede模板安裝。
平時做網站的時候,難免遇上一些特殊情況,默認的CMS是無法實現的,這時就需要改程序,就比如說,讓頻道自動跳轉到第一個子欄目,當我還對DEDECMS不熟悉的時候,采用了一個非常笨的方法,用JS去跳轉,這對優化非常不好。但是反正客戶不懂,效果能實現就OK了。
今天我就來說說用如果通過修改源碼來簡單實現,其實DEDECMS在數據庫表@#_arctype中,是否為頻道,是用ispartdede58模板這個字段去保存的,它有3個值(0,-1,1),對應的網站后臺的 頻道封面、最終欄目、外部連接。
所以我們只需要在程序中對ispart進行一個簡單的判斷,就OK。廢話不多說了,
第一步:打開/include/helpers/channelunit.helper.php 打開下面的代碼 GetOneTypeUrlA函數
/**
* 獲取某欄目的url
*
* @param array $typeinfos 欄目信息
* @return string
*/
function GetOneTypeUrlA($typeinfos)
{
return GetTypeUrl($typeinfos['id'],MfTypedir($typeinfosdede模板免費['typedir']),$typeinfos['isdefault'],
$typeinfos['defaultname'],$typeinfos['ispart'],$typeinfos['namerule2'],
$typeinfos['moresite'],$typeinfos['siteurl'],$typeinfos['sitepath']);
}
第二步:對這個GetOneTypeUrlA函數進行修改,修改后如下
/**
* 獲取某欄目的url
*
* @param array $typeinfos 欄目信息
* @return string
dede模板下載*/
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了。相關dede模板安裝。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-20 ,文章織夢dede讓頻道自動跳轉到第一個子欄目,DEDE技術主要講述個子,跳轉到,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_31401.html