silverstripe 函数返回菜单级别
我正在尝试编写一个函数,返回页面上可见的菜单级别...目前我正在使用 <% if %>;模板中的语句,即:
<div class="<% if Menu(1) %>navA<% end_if %> <% if Menu(2) %>navB<% end_if %> <% if Menu(3) %>navC<% end_if %>">...</div>
如果页面上有 3 个菜单级别,则返回
我想要的是一个仅返回最低级别的函数当前页面的级别菜单,即
谢谢
I'm trying to write a function that returns what menu levels are visible on the page...at the moment I'm using <% if %> statements in the template, ie:
<div class="<% if Menu(1) %>navA<% end_if %> <% if Menu(2) %>navB<% end_if %> <% if Menu(3) %>navC<% end_if %>">...</div>
Which, if there are 3 menu levels on a page, returns <div class="navA navB navC">
What I want is a function that returns just the lowest level menu on the current page, ie <div class="navC">
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是完全有可能的。
只需将以下内容添加到您的
Page_Controller
类中:现在您可以在模板中调用它,如下所示:
$LowestLevel 将打印“level1”、“level2”等,
以防您的类名称必须类似于“ navA','navB'...您需要进行一些匹配,例如'level1'->'navA',这应该不会太难 - 如果您需要任何帮助,请回来找我。
that's perfectly possible.
just add the following to your
Page_Controller
class:now you can call it in your template like so:
$LowestLevel will print 'level1', 'level2' etc.
in case your class names have to be like 'navA', 'navB'... you need to do some matching like 'level1'->'navA', which shouldn't be too hard - come back to me if you need any help on this.
以下内容怎么样(未经测试):
您可能需要考虑在控制器中使用一些自定义代码来处理逻辑繁重的内容,但是这应该会让你继续...
What about the following (untested):
<div class="<% if Menu(3) %>navC<% else_if Menu(2) %>navB<% else %>navA<% end_if %>">...</div>
You might want to consider using some custom code in the Controller for logic-heavy stuff, but this should get you going...