phpcms目前是國內(nèi)非常出名的一套cms 系統(tǒng),它可以很方便的供開發(fā)人員進(jìn)行二次開發(fā)使用,給我們?cè)鎏砹嗽S多方便之處,那么我們今天來看一下用phpcms
網(wǎng)站制作中二級(jí)聯(lián)動(dòng)菜單應(yīng)該怎么樣讀取呢?請(qǐng)看下列文章
phpcms v9聯(lián)動(dòng)菜單的調(diào)用方法[注意此為內(nèi)容頁調(diào)用方法]:
-
{get_linkage($areaid,1,' >> ',1)}
復(fù)制代碼
顯示效果: 北京市 >> 朝陽區(qū) >> 永定路 [注意字段名字為 areaid]
如果你要在列表頁或者其他地方調(diào)用,除了內(nèi)容頁,他們有個(gè)共同點(diǎn),都是在 loop 循環(huán)體里.變量書寫格式就需要修改,比如:
-
{get_linkage($r['areaid'],1,' >> ',1)}
復(fù)制代碼
當(dāng)然這個(gè) $r 也不是絕對(duì)的.要看你的loop 是如何寫的.
{loop $data $n $r} 如果是這樣寫的,就是 $r['areaid'] .
另外必須保證此字段被正確讀取有值.
下面是global.func.php文件里函數(shù)get_linkage :
-
-
/**
-
* 通過id獲取顯示聯(lián)動(dòng)菜單
-
* @param $linkageid 聯(lián)動(dòng)菜單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'];
-
}
-
}
復(fù)制代碼
共有六個(gè)參數(shù),尤其是前兩個(gè),不要搞顛倒了. $linkageid, $keyid . 第一個(gè)$linkageid是菜單id,你發(fā)布的時(shí)候選擇的最終極菜單id,$keyid是菜單keyid,后臺(tái)默認(rèn)的聯(lián)動(dòng)菜單中國的keyid就是1.有點(diǎn)繞口,確實(shí),這倆菜單id是一回事,但是他們的層級(jí)不一樣.keyid就是最大的那個(gè)父id,linkageid是子級(jí)id.第三個(gè)$space就是連接符號(hào),第四個(gè)$type就是調(diào)用內(nèi)容,如果是1就調(diào)用完整的,如果設(shè)置為0就調(diào)用最終極的,即如果是0就只顯示朝陽區(qū)。默認(rèn)為1的。
怎么樣,phpcms網(wǎng)站制作中的,二級(jí)聯(lián)動(dòng)菜單調(diào)用你會(huì)了嗎?