【发布时间】:2015-07-08 04:16:21
【问题描述】:
我在 SilverStripe 3.1 模板中组合了一个 3 层导航菜单,并在我的模板中包含以下代码:
<% loop $Menu(1) %>
...
<% loop $Children %>
...
<% loop $Children %>
<li><a href="$Link">$Model</a></li>
<% end_loop %>
<% end_loop %>
<% end_loop %>
但是,我没有从第 3 层获得预期的输出。真的有可能得到孩子的孩子吗?如果没有,那我应该怎么做?谢谢!
【问题讨论】:
-
该代码看起来不错。您应该能够像您正在做的那样遍历 Children 循环的 Children。所有页面都设置为
ShowInMenus吗?$Children仅返回设置为ShowInMenus的页面。否则,您也可以使用$AllChildren来获取隐藏页面。站点树是否有 3 层深的页面?$Model是什么?这是您添加到 Page 类的自定义变量吗? -
@3dgoo 是的,我想要显示的所有页面都正确设置了 ShowInMenus。是的,页面有 3 层深。是的,$Model 是一个自定义变量。
-
@3dgoo 进一步调查,看起来我得到了 $Link 的值而不是模型,所以我只需要调查自定义变量。谢谢你的帮助;您想将您的评论作为答案吗?
-
很高兴我能帮上忙。当然,我会发布我的 cmets 作为答案。
-
当您发现问题时,请务必分享您的解决方案,以防将来对任何人有所帮助。
标签: navigation silverstripe template-variables