如何将导航添加到自定义Magnolia CMS模板?

时间:2013-01-28 22:50:27

标签: java content-management-system magnolia

我已经成功地按照本教程创建了Magnolia CMS的自定义页面模板:

http://documentation.magnolia-cms.com/templates/introduction.html

但是,我正处于将导航插入模板的位置,但我找不到一种简单的方法。看起来其他人有这个问题没有明确的方法来解决它。有谁知道如何轻松包含导航?感谢

1 个答案:

答案 0 :(得分:6)

如果您使用的是Magnolia CE(Community Edition)4.5.x,您需要知道基本上每个页面模板都扩展了/modules/standard-templating-kit/config/site/templates/prototype中定义的模板。你有一个节点/navigation。您可以将该节点复制到新的自定义模板,然后您可以开始使用它的属性。

但在此之前,不要忘记在主模板文件(.ftl)中的某处包含导航菜单,并使模板使用stk模型类info.magnolia.module.templatingkit.templates.pages.STKPageModel(添加属性到你的模板名为modelClass,看看stkArticle(或stkSection),这是一个很好的起点)

水平导航:

[#if def.navigation.top]
    [#include def.navigation.horizontal.template]
[/#if]

垂直导航:

[#if def.navigation.top]
    [#include def.navigation.vertical.template]
[/#if]

如果您想将菜单包含在[@cms.area ...]标记附带的其他模板中, 你可以使用这段代码:

[#if model.root.def.navigation.top]
    [#include model.root.def.navigation.vertical.template]
[/#if]