通过活动父菜单项获取body类

时间:2011-05-25 14:46:30

标签: php css joomla

示例:

menuitem 1
menuitem 1.1
menuitem 1.2
menuitem 1.2.1
menuitem 2
menuitem 3

我现在有:

<?php $active = JFactory::getApplication()->getMenu()->getActive();?>
<body class="<?php echo $active->alias; ?> ">

所以我从活动菜单项加载body类。我希望保持不变。我需要的是在例如menuitem 1处于活动状态时隐藏某些菜单项。所以当发生这种情况时,我需要为menuitem 2分配一个类。

当我向下导航1.1时,它会隐藏菜单项。

找到解决方案:

<?php
$menu =& JSite::getMenu();
$active = $menu->getActive();
$class = extractpath($active->route);
function extractpath($string){
preg_match('/^[a-zA-Z0-9\-_]+/',$string,$m);   
return $m[0];
}

?>
  <body<?php if ($class) echo ' class="' . $class . '"'; ?>>

1 个答案:

答案 0 :(得分:0)

获取父级的ID - $ menu-&gt; getActive() - &gt; parent

获取父母的标题 - $ menu-&gt; getItem([id]) - &gt; name