如何将信息传递给Umbraco中的所有页面

时间:2013-01-30 17:00:23

标签: c# xslt umbraco

主模板中用作umbraco项的信息如何传递给子模板?

Master template
        Child template 1
        Child template 2

Master template我有

<umbraco:Item field="training" runat="server" />

字段training是在umbraco的内容标签中输入的文字。此信息需要输入一次,并显示在使用子template 1 and 2的页面占位符中。

1 个答案:

答案 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会在查看父母之前检查当前节点的值。