【问题标题】:get body class by active parent menu item通过活动父菜单项获取正文类
【发布时间】:2011-09-01 20:25:01
【问题描述】:

示例:

菜单 1
菜单项 1.1
菜单项 1.2
菜单项 1.2.1
菜单项 2
菜单项 3

我现在有:

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

所以我从活动菜单项加载正文类。我希望保持不变。我需要的是在例如 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 . '"'; ?>>

【问题讨论】:

    标签: php css joomla


    【解决方案1】:

    获取父级的ID - $menu->getActive()->parent

    获取父级的Title - $menu->getItem([id])->name

    【讨论】:

    • 我不想让它对 body 类做任何事情。请参阅已编辑的原始帖子。但也许它会起作用,我来测试一下吧!
    猜你喜欢
    • 2013-09-01
    • 2012-01-01
    • 2022-01-10
    • 2013-09-14
    • 1970-01-01
    • 2013-10-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多