phpcms目前是國內非常出名的一套cms 系統,它可以很方便的供開發人員進行二次開發使用,給我們增添了許多方便之處,那么我們今天來看一下用phpcms
網站制作中二級聯動菜單應該怎么樣讀取呢?請看下列文章
phpcms v9聯動菜單的調用方法[注意此為內容頁調用方法]:
-
{get_linkage($areaid,1,' >> ',1)}
復制代碼
顯示效果: 北京市 >> 朝陽區 >> 永定路 [注意字段名字為 areaid]
如果你要在列表頁或者其他地方調用,除了內容頁,他們有個共同點,都是在 loop 循環體里.變量書寫格式就需要修改,比如:
-
{get_linkage($r['areaid'],1,' >> ',1)}
復制代碼
當然這個 $r 也不是絕對的.要看你的loop 是如何寫的.
{loop $data $n $r} 如果是這樣寫的,就是 $r['areaid'] .
另外必須保證此字段被正確讀取有值.
下面是global.func.php文件里函數get_linkage :
-
-
/**
-
* 通過id獲取顯示聯動菜單
-
* @param $linkageid 聯動菜單ID
-
* @param $keyid 菜單keyid
-
* @param $space 菜單間隔符
-
* @param $result 遞歸使用字段1
-
* @param $infos 遞歸使用字段2
-
*/
-
function get_linkage($linkageid, $keyid, $space = '>', $type = 1, $result = array(), $infos = array()) {
-
if($space=='' || !isset($space))$space = '>';
-
if(!$infos) {
-
$datas = getcache($keyid,'linkage');
-
$infos = $datas['data'];
-
}
-
if($type == 1 ) {
-
if(array_key_exists($linkageid,$infos)) {
-
$result[]=$infos[$linkageid]['name'];
-
return get_linkage($infos[$linkageid]['parentid'], $keyid, $space, $type, $result, $infos);
-
} else {
-
if(count($result)>0) {
-
krsort($result);
-
$result = implode($space,$result);
-
return $result;
-
}
-
else {
-
return $result;
-
}
-
}
-
} else {
-
return $infos[$linkageid]['name'];
-
}
-
}
復制代碼
共有六個參數,尤其是前兩個,不要搞顛倒了. $linkageid, $keyid . 第一個$linkageid是菜單id,你發布的時候選擇的最終極菜單id,$keyid是菜單keyid,后臺默認的聯動菜單中國的keyid就是1.有點繞口,確實,這倆菜單id是一回事,但是他們的層級不一樣.keyid就是最大的那個父id,linkageid是子級id.第三個$space就是連接符號,第四個$type就是調用內容,如果是1就調用完整的,如果設置為0就調用最終極的,即如果是0就只顯示朝陽區。默認為1的。
怎么樣,phpcms網站制作中的,二級聯動菜單調用你會了嗎?