AEM Touch UI RTE通用插件配置

AEM Touch UI RTE通用插件配置,aem,rte,Aem,Rte,在经典ui中,您可以使用xtype:cqinclude来包含来自不同路径的RTE插件基本上为标准RTE插件创建一个位置,我如何在TouchUI中执行相同的操作 我尝试过使用granite UI include小部件,但这没有帮助,因为它不是用来包含节点的,而是granite小部件/组件,我认为这个过程对于TouchUI中的RTE来说有点独特。您可能需要创建一个包含_cq_editConfig.xml的文本组件覆盖。这将有一个指向ClassCUI对话框的configPath属性,如下面的示例所示。

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


我尝试过使用granite UI include小部件,但这没有帮助,因为它不是用来包含节点的,而是granite小部件/组件,我认为这个过程对于TouchUI中的RTE来说有点独特。您可能需要创建一个包含_cq_editConfig.xml的文本组件覆盖。这将有一个指向ClassCUI对话框的configPath属性,如下面的示例所示。在RTE的ClassCUI 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"/>  

我通过调试RTE找到了解决方案,我注意到RTE发送了一个请求,请求从JCR(使用JSON servlet)获取RTE插件(作为JSON)。有了这样的理解,我就能够在rtePlugins节点上使用
sling:superResourceType
来引用JCR上的另一个rtePlugins节点。因为JSON servlet实际上尊重超类型关系。 请在此处阅读有关Sling资源合并的更多信息:

例如,如果我在
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>


由于此原因,我的在线编辑工具栏不包含“保存”、“取消”和“最大化”按钮,因此可能存在重复。你能帮忙吗?也许如果你用你的覆盖代码、资源超级类型信息和实例版本向SO发布一个非常详细的问题。否则我不确定我能不能。祝你好运别担心。我设置了rtePlugins的路径,它位于confPath中的文本中,而不是您在回答中提到的文本中,它起了作用。