日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Dedecms織夢調用當前頂級欄目名稱、ID、url實現方法


織夢調用上級欄目ID:{dede:field.reid/}   

dedecms獲取調用當前欄目頁上一級欄目的名稱: {dede:field name='typename' /} 

織夢調用頂級欄目ID:{dede:field.typeid function='GetTopid(@me)'/}


織夢Dedecms獲取頂級欄目id,名稱及鏈接

{dede:field.typeid function="gettoptype(@me,id)"/} //id  
{dede:field.typeid function="gettoptype(@me,name)"/} //名稱  
{dede:field.typeid function="gettoptype(@me,link)"/} //鏈接

修改 include/helpers/extend.helper.php 

結尾增加 :

**
* 獲取一個類目的頂級欄目
* @param string $tid 欄目ID
* @return string
*/
if ( ! function_exists('gettoptype')){
    function gettoptype($tid,$action){
        global $dsql,$cfg_Cs;
        if(!is_array($cfg_Cs)){
            require_once(DEDEDATA."/cache/inc_catalog_base.inc");
        }
        if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0){
            $topid = $tid;
        }else{
            $topid = GetTopid($cfg_Cs[$tid][0]);
        }
        $row = $dsql->GetOne("SELECT * FROM `arctype` WHERE id=$topid");
        $toptypename = $row['typename'];
        $toptypeurl = $topid;
        if($action=='id') return $topid;
        if($action=='name') return $toptypename;
        if($action=='link') return GetOneTypeUrlA($row);
    }
}

自定義函數方式調用:

include/common.func.php的底部加入:

//獲取頂級欄目名
function GetTopTypename($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0'){
        return $row['typename'];
    }else{
        $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]");
        return $row1['typename'];
    }
}

備注:若頂級欄目沒有綁定二級域名,所調用的字段應該是 sitepath 故代碼應如下所示: 

//獲取頂級欄目url 
function GetTopTypeurl($id){
    global $dsql;
    $row = $dsql->GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0'){
        return $row['sitepath'];
    }else{
        $row1 = $dsql->GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]");
        return $row1['sitepath'];
    }
}

頂級欄目其他字段調用的function 函數仿照上面所示書寫即可。


同理可得獲取頂級欄目url方法 (當頂級欄目綁定二級域名時調用的字段為“ siturl”)

function GetTopTypeurl($id){
    global $dsql;
    $row = $dsql->GetOne("SELECT siteurl,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0'){
        return $row['siteurl'];
    }else{
        $row1 = $dsql->GetOne("SELECT siteurl FROM dede_arctype WHERE id= $row[topid]");
        return $row1['siteurl'];
    }
}

在文章頁或者欄目列表頁調用時,在所要調用欄目名稱的位置加上下面這行代碼即可實現。

{dede:field name='typeid' function="GetTopTypename(@me)" /}    頂級欄目名 
{dede:field name='typeid' function="GetTopTypeurl(@me)" /}     頂級欄目url

dede調用頂級欄目ID 方法一:

{dede:field.typeid function="GetTopid(@me)"/}

dede調用頂級欄目ID 方法二:

1、在所需要調用頂級欄目ID的地方,添加這段標簽語法

{dede:type}[feild:topid/]{/dede:type}

2、修改源文件,找到include目錄下的taglib目錄下的type.lib.php。

找到這條語句

$row = $dsql->GetOne("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id='$typeid'");

修改成為

$row = $dsql->GetOne("Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id='$typeid'");

if(!is_array($row)) return ";

下一行添加

if( $row['topid']==0){$row['topid']=$row['id'];}

這樣,這條語句在頂級欄目還是子欄目,都可以調用了。

 


分享到:
標簽:Dedecms 織夢 調用 當前頂級欄目名稱 實現方法
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定