我想要完成的是设置一系列子组件,这些子组件可以嵌入到组件中,以在许多组件中添加相同的字段,但让它们都从一个位置拉出来,例如在父组件中添加标题和预告片字段对话框。这样,如果我们需要修改或添加到该列表,我们可以在子组件对话框中进行更改并将其传播到所有继承对话框。目前,我们只是复制/粘贴所有内容,它们最终不可避免地会不同步,维护起来很痛苦。
我已经看到提到使用包含的 Touch UI 版本、granite/ui/components/foundation/include 创建覆盖。.content/xml 中的以下代码不起作用。
<testembed
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/ui/include"
path="/apps/[path-to-custom-component/cq:dialog/content/items" />
我尝试了各种形式的路径来提及/apps,我尝试过相对于/libs,但似乎没有任何结果。
我已经使用 sling:resourceSuperType 对核心组件做了类似的事情,但我想在这里尽可能避免这种情况,因为它增加了一层复杂性,而且我们已经使用了一些超类型功能,因此它无法覆盖一次两个组件(除非它是......)。它还将消除将嵌入字段放置在对任何给定组件有意义的位置的灵活性。