【发布时间】:2012-03-08 19:06:47
【问题描述】:
我在一个通用库中使用 Orbeon 部分模板,我以多种形式使用它。
我需要给定部分模板的一些值来确定表单其他部分中某些控件的可见性。所以我正在寻找一种解决方案来参数化部分模板,以便永远不会访问其内部控制值。
有人可以向我解释如何实现吗?
【问题讨论】:
-
是的,我正在使用表单生成器来创建部分模板和包含部分模板的表单
我在一个通用库中使用 Orbeon 部分模板,我以多种形式使用它。
我需要给定部分模板的一些值来确定表单其他部分中某些控件的可见性。所以我正在寻找一种解决方案来参数化部分模板,以便永远不会访问其内部控制值。
有人可以向我解释如何实现吗?
【问题讨论】:
要从该部分模板之外的字段(并且本身不在另一个部分模板中)引用该部分模板内的字段的值,您不能使用$field-name 语法。您可以从节模板内部,但不能从节模板外部。这是因为部分模板真正封装了它们的内容,因此允许您在表单中拥有多个相同部分模板的实例,或者使用相同字段名称的多个部分模板。
因此,要回答您的问题,这是您需要使用路径表达式的情况。假设您要引用的字段名为street,并且您将模板的特定实例命名为shipping,那么您可以使用表达式/form/shipping/street 引用该字段的值。如果您添加同一模板的另一个实例,并将该实例命名为billing,那么您可以将另一个街道字段称为/form/billing/street。
【讨论】: