織夢dedecms子欄目獲得父級欄目ID
來源:本站原創(chuàng)|時間:2021-08-05|欄目:dedecms|點擊: 次
織夢dedecms單頁模塊更改生成目錄和鏈接的方法 ,本示例為將單頁生成目錄、鏈接更改為dedeyuan 。
dedecms 父欄目id,父欄目列表在網(wǎng)上搜了好久關(guān)于在dedecms里如何獲得父欄目的id,結(jié)果有點讓人失望。
其實這個功能如果用php去實現(xiàn)的話很簡單的,欄目id和父id都存在dede_arctype表里,所以只要寫個函數(shù)就可以了。
dedecms里面支持,允許php函數(shù)的標簽,語法是這樣的:
{dede:field name="typeid" function="getParentId(@me)"/}
當然里面的標簽名稱和其他的屬性根據(jù)自己的需求而定,標簽名和屬性回影響到@me的值。
我們這里取當前頁面的id(@me的值) ,屬性function就是自己定義的函數(shù)。那么這個函數(shù)是在哪里定義的呢?
我 在 include/inc/里新建inc_tagFuns.php,然后在 include/common.func.php里將include/inc/inc_tagFuns.php包含進去( require_once(DEDEINC."/inc/inc_tagFuns.php")),現(xiàn)在在inc_tagFuns.php里面定義函數(shù),在 function屬性里就可以用了。我們現(xiàn)在定義一個函數(shù)叫g(shù)etParentId,如下:
function getParentId($typeid){
global $dsql;
$sql = "SELECT reid FROM `dede_arctype` WHERE id=$typeid";
$dsql->SetQuery($sql);
$dsql->Execute();
$row = $dsql->GetArray();
return $row['reid'];
}
此時只要在你的頁面里執(zhí)行{dede:field name="typeid" function="getParentId(@me)"/}就可以調(diào)出父id了。對dedecms也不是太熟悉,只是工作需要還在摸索中。
另 外還有如何在頁面中一直顯示父欄目的同級欄目,注意不是“頂級欄目”,這一點感覺dedecms做的真是太爛了,在channel標簽里面的type熟悉 可以有“self‘, "son"(或"sun"這大概是最初寫dede的那個人英文比較爛吧,哈哈。。。)”top“,居然沒有"parent"真的很無語。官方的說明文檔感 覺也是老古董了。在文檔channel標簽里面好友沒有typeie這一個屬性。但是可以使用的,就是指定父欄目的父欄目的id。
{dede:channel typeid=9}
[field:typename/]
{/dede:channel}
這樣如果知道父欄目的父欄目的id就額可以列出父欄目及父欄目的同級欄目列表了。
您可能感興趣的文章
- 08-05dede:channel currentstyle 失效問題,調(diào)用子級欄目后就無效
- 08-05Dedecms文件目錄結(jié)構(gòu)解說(能知道織夢每個文件有什么用)
- 08-05Dedecms5.7版ckeditor網(wǎng)頁編輯器添加中文字體
- 08-05織夢DedeCMS獲取當前欄目文章數(shù)量
- 08-05織夢模板如何添加和調(diào)用自定義字段的方法
- 08-05DedeCMS后臺模塊列表顯示空白的解決辦法
- 08-05DedeCMS自定義字段圖片調(diào)用的問題{dede:img ...}解決方法
- 08-05織夢DedeCMS調(diào)用顯示discuz里面主題的方法
- 08-05限制織夢會員每天投稿數(shù)量方法
- 08-05常用的織夢dedecms安全設(shè)置集合整理