{get_linkage($areaid,1,' >> ',1)}
顯示效果: PHPCMS吧 >> 模板下載 >> PHPCMS模板 [字段名字為 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,后臺默認的聯動菜單PHPCMS吧的keyid就是1.有點繞口,確實,這倆菜單id是一回事,但是他們的層級不一樣.keyid就是最大的那個父id,linkageid是子級id.第三個$space就是連接符號,第四個$type就是調用內容,如果是1就調用完整的,如果設置為0就調用最終極的,即如果是0就只顯示PHPCMS模板。默認為1的。
|
新聞熱點
疑難解答