2

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

Master template
        Child template 1
        Child template 2

Master template我有

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

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

4

1 回答 1

2

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

我已经用宏完成了这个,在哪里可以得到一个孩子的训练项目(但在主人中设置)你使用'$'前缀(http://our.umbraco.org/wiki/reference/templates/umbracomacro-元素/宏参数/高级宏参数语法):

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

于 2013-01-31T00:08:22.837 回答