CMS系统:phpcms v9联动菜单的调用方法及get_linkage函数详解

CMS系统:PHPcms v9联动菜单调用方法及get_linkage函数详解》要点:
本文介绍了CMS系统:PHPcms v9联动菜单调用方法及get_linkage函数详解,希望对您有用。如果有疑问,可以联系我们。

导读:{get_linkage($areaid,1,' >> ',1)}显示效果: PHPCMS吧 >> 模板下载 >> PHPCMS模板 [字段名字为 areaid]如果你要在列表页...
{get_linkage($areaid,' >> ',1)} 

显示效果: PHPCMS吧 >> 模板下载 >> PHPCMS模板 [字段名字为 areaid] 
如果你要在列表页或者其他地方调用,除了内容页,他们有个共同点,都是在 loop 循环体里.变量书写格式就需要修改,比如: 
{get_linkage($r['areaid'],Arial; font-size: 14px; line-height: 25px;">复制代码 
当然这个 $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'],$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的. 

相关文章

1、想好字段名! 这里取一个test 商品发布模板:post_trad...
一、后台 → 全局 → 关闭站点(为了不影响数据库备...
<?php /** [Discuz!] (C) 2001-2099 Comsenz Inc. con...
今天给大家讲讲 如何把已经切割好的html页面或者模仿的页面转...
打开网站根目录下/template/default/common header_common....
打开网站根目录/source/module/portal/portal_list.php搜 c...