手机
当前位置:查字典教程网 >CMS教程 >phpcms >phpcms v9联动菜单的调用方法及get_linkage函数详解
phpcms v9联动菜单的调用方法及get_linkage函数详解
摘要:{get_linkage($areaid,1,'>>',1)}显示效果:PHPCMS吧>>模板下载>>PHPCMS模板[字段名字为areai...

{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的。

【phpcms v9联动菜单的调用方法及get_linkage函数详解】相关文章:

phpcms v9 PC标签调用附表实现代码

phpcms v9的表单向导实现问答咨询功能的方法

phpcms v9 get标签各种调用代码整理

phpcms 读不到缓存 页面空白的解决方法

phpcms V9修改lists标签(实现调用文章所属栏目及点击数)

phpcms v9调用自定义字段的方法

phpcms v9栏目列表调用每一篇文章内容方法

phpcms v9更改后台文章排序的方法

phpcms 调用全站任何模型数据的PC标签

phpcms v9将栏目描述的多行文本修改为编辑器

精品推荐
分类导航