濮阳杆衣贸易有限公司

主頁(yè) > 網(wǎng)站建設(shè) > 建站知識(shí) > 織夢(mèng)子欄目獲得父級(jí)欄目ID

織夢(mèng)子欄目獲得父級(jí)欄目ID

POST TIME:2017-11-13 00:15

dedecms 列表頁(yè)獲取頻道頁(yè)父欄目id

dedecms 父欄目id,父欄目列表在網(wǎng)上搜了好久關(guān)于在dedecms里如何獲得父欄目的id,結(jié)果有點(diǎn)讓人失望。
其實(shí)這個(gè)功能如果用php去實(shí)現(xiàn)的話很簡(jiǎn)單的,欄目id和父id都存在dede_arctype表里,所以只要寫(xiě)個(gè)函數(shù)就可以了。

dedecms里面支持,允許php函數(shù)的標(biāo)簽,語(yǔ)法是這樣的:
{dede:field name="typeid" function="getParentId(@me)"/}
當(dāng)然里面的標(biāo)簽名稱和其他的屬性根據(jù)自己的需求而定,標(biāo)簽名和屬性回影響到@me的值。
我們這里取當(dāng)前頁(yè)面的id(@me的值) ,屬性function就是自己定義的函數(shù)。那么這個(gè)函數(shù)是在哪里定義的呢?
我 在 include/inc/里新建inc_tagFuns.php,然后在 include/common.func.php里將include/inc/inc_tagFuns.php包含進(jìn)去( require_once(DEDEINC."/inc/inc_tagFuns.php")),現(xiàn)在在inc_tagFuns.php里面定義函數(shù),在 function屬性里就可以用了。我們現(xiàn)在定義一個(gè)函數(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'];
  • }

此時(shí)只要在你的頁(yè)面里執(zhí)行{dede:field name="typeid" function="getParentId(@me)"/}就可以調(diào)出父id了。對(duì)dedecms也不是太熟悉,只是工作需要還在摸索中。
另 外還有如何在頁(yè)面中一直顯示父欄目的同級(jí)欄目,注意不是“頂級(jí)欄目”,這一點(diǎn)感覺(jué)dedecms做的真是太爛了,在channel標(biāo)簽里面的type熟悉 可以有“self‘, "son"(或"sun"這大概是最初寫(xiě)dede的那個(gè)人英文比較爛吧,哈哈。。。)”top“,居然沒(méi)有"parent"真的很無(wú)語(yǔ)。官方的說(shuō)明文檔感 覺(jué)也是老古董了。在文檔channel標(biāo)簽里面好友沒(méi)有typeie這一個(gè)屬性。但是可以使用的,就是指定父欄目的父欄目的id。

  • {dede:channel typeid=9}
  • [field:typename/]
  • {/dede:channel}

這樣如果知道父欄目的父欄目的id就額可以列出父欄目及父欄目的同級(jí)欄目列表了。



上一篇:織夢(mèng)自增數(shù)使用方法

下一篇:織夢(mèng)如何添加兩張縮略圖_織夢(mèng)自定義圖片字段

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
克山县| 怀柔区| 霍林郭勒市| 嘉峪关市| 隆子县| 峨山| 体育| 仪陇县| 汶川县| 霍邱县| 马关县| 安新县| 儋州市| 河曲县| 桐城市| 郁南县| 关岭| 凤阳县| 芦溪县| 思南县| 广河县| 天津市| 新干县| 西华县| 汉寿县| 陆河县| 泸定县| 永春县| 兰坪| 平罗县| 张家界市| 南丰县| 历史| 拜城县| 石棉县| 上犹县| 含山县| 衡东县| 兴业县| 巴塘县| 文化|