主模板中用作umbraco
项的信息如何传递给子模板?
Master template
Child template 1
Child template 2
在Master template
我有
<umbraco:Item field="training" runat="server" />
字段training
是在umbraco
的内容标签中输入的文字。此信息需要输入一次,并显示在使用子template 1 and 2
的页面占位符中。
答案 0 :(得分:2)
如果主模板的doctype包含此训练字段,则可以使用子模板在使用子模板的节点中拾取值 - 使用递归选项。
我已经使用宏完成了这项操作,在哪里获取子项中的训练项目(但在主设备中设置),您使用'$'前缀(http://our.umbraco.org/wiki/reference/templates/umbracomacro-element/macro-parameters/advanced-macro-parameter-syntax):
<umbraco:macro alias="macroAlias" parm1="[$training]" runat="server"/>
递归项目不常用(我不知道我是否曾经使用过这种技术 - 使用包含razor / ascx或xslt的宏来重复内容更常见)。在这种情况下,您想要获取递归项值(http://our.umbraco.org/wiki/how-tos/xslt-useful-tips-and-snippets/settings-in-root-node-and-value-from-recursive-search),以便使用:
<umbraco:Item field="training" recursive="true" runat="server"></umbraco:Item>
在这两种情况下,umbraco会在查看父母之前检查当前节点的值。