在经典 ui 中,您可以使用 xtype:cqinclude
包含来自不同路径的 rtePlugins,基本上为标准 RTE 插件创建一个位置,我如何在 Touch UI 中执行相同操作?
我尝试使用花岗岩 UI 包含小部件,但这没有帮助,因为它不是用于包含节点,而是用于包含花岗岩小部件/组件
最佳答案
我通过调试 RTE 找到了解决方案,我注意到 RTE 发送了一个从 JCR 获取 rtePlugins(JSON 形式)的请求(使用 JSON servlet)。有了这种理解,我就能够在 rtePlugins 节点上使用 sling:superResourceType 来引用 JCR 上的另一个 rtePlugins 节点。因为 JSON servlet 实际上会尊重 superType 关系。 在此处阅读有关 Sling 资源合并的更多信息:https://docs.adobe.com/docs/en/aem/6-1/develop/platform/sling-resource-merger.html
例如。如果我在apps/project/customeRtePlugins/rtePlugins
下定义 rtePlugins 节点,那么在触摸对话框的实际 RTE 中,我可以执行以下操作:
<rte
jcr:primaryType="nt:unstructured"
sling:resourceType="cq/gui/components/authoring/dialog/richtext"
name="./rte"
useFixedInlineToolbar="{Boolean}true">
<rtePlugins
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="apps/project/customeRtePlugins/rtePlugins"/>
</rte>
关于AEM Touch UI RTE 常用 rtePlugins 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38416747/