0

我正在尝试编写一个函数来返回页面上可见的菜单级别......目前我在模板中使用 <% if %> 语句,即:

<div class="<% if Menu(1) %>navA<% end_if %> <% if Menu(2) %>navB<% end_if %> <% if Menu(3) %>navC<% end_if %>">...</div>

如果页面上有 3 个菜单级别,则返回<div class="navA navB navC">

我想要的是一个只返回当前页面上最低级别菜单的函数,即<div class="navC">

谢谢

4

2 回答 2

1

这是完全可能的。只需将以下内容添加到您的Page_Controller课程中:

function LowestLevel() {
    $i = 1;
    while($this->getMenu($i)->count() > 0) $i++;
    return 'level'.($i-1);
}

现在您可以像这样在模板中调用它:

<div>lowest level: $LowestLevel</div>

$LowestLevel 将打印 'level1'、'level2' 等。

如果你的类名必​​须像'navA','navB'......你需要做一些匹配,比如'level1'->'navA',这不应该太难 - 如果你需要,请回来找我对此有任何帮助。

于 2011-08-04T19:21:05.100 回答
0

以下情况如何(未经测试):

<div class="<% if Menu(3) %>navC<% else_if Menu(2) %>navB<% else %>navA<% end_if %>">...</div>

您可能想考虑在 Controller 中使用一些自定义代码来处理逻辑繁重的东西,但这应该可以帮助您...

于 2011-08-03T22:24:11.643 回答