0

我目前正在构建一个组件,它的 TouchUI 配置属性用三个选项卡(标准、CASL、GDPR)分隔。每个选项卡都有相同的可用选项集,我当前的配置名称类似于以下内容:

./standardMarketingText
./standardThirdpartyText
./gdprMarketingText
./gdprThirdpartyText
./caslMarketingText
./caslThirdpartyText

(标准、gdpr、casl 还有其他几个选项,但为简洁起见,我将它们省略了)

虽然这可行,但我希望将 JCR 中的值存储为每个类别的 JSON 节点。例如:

casl = {"marketingText"="m test", "thirdpartyText"="tp test"}
gdpr = {"marketingText"="gdpr m test", "thirdpartyText"="gdpr tp test"}

这样,我可以在需要时一次加载所有“casl”(或其他)选项(不会只加载一个“casl”选项)

我曾尝试使用 Granite/ui/components/foundation/form/multifield 但是,它要求“添加字段”。我只想要一组,而不提供在每个选项卡下添加另一组属性的能力。有没有办法在不覆盖多字段资源类型的情况下做到这一点?

4

1 回答 1

0

有多种方法可以实现您正在查看的内容,我会查看可重用性,因为不同类别(在您的案例选项卡中)有类似的命名属性。要对它们进行分组,您可以通过正确定义每个选项卡的 name 属性在节点级别执行此操作。

对于上述提供的值,您可以执行以下操作 -

./standard/marketingText
./standard/thirdpartyText
./gdpr/marketingText
./gdpr/thirdpartyText
./casl/marketingText
./casl/thirdpartyText

您的每个选项卡都将属性存储在命名节点(标准、gdpr、casl)中。此外,您可以拥有一个 SlingModel/WCMUsePojo,它可以适应这些节点,为 Pojo 提供属性值的访问器。

就获取 JSON 而言,您的 SlingModel 或 WCMUsePojo 可以提供一种方法来为值返回基于 JSON 的字符串。

于 2019-03-10T16:41:02.527 回答