AEM Touch UI RTE常见的rtePlugins配置

时间:2016-07-17 00:06:59

标签: aem rte

在经典ui中,您可以使用xtype:cqinclude来包含来自不同路径的rtePlugins,基本上为标准RTE插件创建一个位置,如何在Touch UI中执行相同操作?

我尝试使用花岗岩UI包含小部件,但这没有用,因为它不是用于包含节点,而是花岗岩小部件/组件

2 个答案:

答案 0 :(得分:2)

我通过调试RTE找到了解决方案,我注意到RTE发送请求从JCR获取rtePlugins(作为JSON)(使用JSON servlet)。根据这种理解,我能够在rtePlugins节点上使用sling:superResourceType来引用JCR上的另一个rtePlugins节点。因为JSON servlet实际上会尊重superType关系。 阅读更多abour Sling Resource Merger: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>

答案 1 :(得分:1)

我认为这个过程对于TouchUI中的RTE来说有点独特。您可能需要创建Text组件的叠加层,包括_cq_editConfig.xml。这将有一个指向ClassicUI对话框的configPath属性,如下面的示例所示。在RTE的ClassicUI dialog.xml中,configPath中引用的元素具有name属性,并且还包含包含所有RTE插件配置的元素(rtePlugins)

<cq:inplaceEditing jcr:primaryType="cq:InplaceEditingConfig" 
editorType="text" active="true" configPath="/apps/wcm/foundation/components/text/dialog/items/tab1/items/text"/>