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

本文关键字:Umbraco 信息 | 更新日期: 2023-09-27 17:56:37

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

Master template
        Child template 1
        Child template 2

Master template我有

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

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

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

如果主模板的文档类型包含此训练字段,则可以使用递归选项在使用子模板的节点中选取该值。

我已经用宏完成了此操作,在哪里可以在孩子中获取训练项目(但在主节点中设置),您使用"$"前缀 (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 都会在查看父节点之前检查当前节点的值。