1

我有一个表格组件,每个单元格都必须有一个 parsys(以允许作者删除文本、图像等)。默认情况下,该 parsys 必须在其中包含定制的文本组件(内部)。

在 Sightly 中,我尝试了以下方法但没有结果:

<sly data-sly-resource="${'table-col-header-{0}' @ format=[column], resourceType='/libs/wcm/foundation/components/parsys'}">
    <sly data-sly-resource="${'table-col-header-text-{0}' @ format=[column], resourceType='/apps/componentlibrary/components/content/text'"/>
</sly>
4

2 回答 2

2

根据行/列方面的实际限制,我要么选择 cq:template 节点方法,要么选择 parsys 的扩展,其中包括包含预定义组件的功能。OOTB parsys 仅包含模板预定义的内容(页面模板或组件特定模板)

cq:template 节点方法包括在包含它应该具有的结构的组件定义下添加一个节点。这将允许您为每个单元格预定义一个文本组件(或其他内容)。但这需要对您的行和列进行有限限制。如果通过 sidekick 添加了一个组件(我也相信 touchUI - 但不是 100% 肯定),它会将这个节点的整个结构复制到您所在的组件位置。在您的情况下,这意味着将复制每一行/列,并且会导致存储库中的节点比您实际需要的多(大多数情况下)。只要限制相当低,这种方法就可以了。请注意,如果您将此“表格”组件直接包含在另一个组件中,则此方法不起作用。

第二种方法要求您扩展 parsys 组件以使其“更智能”并提供“默认”项。这更灵活,但也受制于处理 Adob​​e 对该组件所做的更改/增强。

于 2016-08-18T06:07:13.650 回答
0

根据规范data-sly-include应该与脚本一起使用。

于 2016-08-11T13:45:18.500 回答