如何防止AEM从具有包含链接的默认值的RTE中剥离href?

如何防止AEM从具有包含链接的默认值的RTE中剥离href?,aem,rte,Aem,Rte,我为AEM中的RTE文件设置了默认值。此值在对话框首次打开时显示正确,但在保存并重新打开时,href已从A标记中删除。(这是一个外部链接) 如果使用RTE链接按钮重新添加此href,则它可以正常工作,但我希望它第一次正常工作 我是AEM的新手,目前拥有以下内容(注意:对于本例,我已更改URL并复制到测试版本): 我认为您的主要问题是defaultValue字段中使用的语法。 我只是通过向文本组件添加一个链接来进行测试,然后通过CRXDE获取jcr:content的./text并将其直接复制粘贴到

我为AEM中的RTE文件设置了默认值。此值在对话框首次打开时显示正确,但在保存并重新打开时,href已从A标记中删除。(这是一个外部链接)

如果使用RTE链接按钮重新添加此href,则它可以正常工作,但我希望它第一次正常工作

我是AEM的新手,目前拥有以下内容(注意:对于本例,我已更改URL并复制到测试版本):


我认为您的主要问题是defaultValue字段中使用的语法。 我只是通过向文本组件添加一个链接来进行测试,然后通过CRXDE获取jcr:content的./text并将其直接复制粘贴到组件的defaultValue字段

然后,我在页面中添加了一个新的组件实例,对其进行了编辑,默认值在RTE中,我只需单击Save,链接保持不变

我做了一个组件包来检查AEM在XML中放了什么,至少可以说,有点奇怪,所有的>字符都完好无损,而所有的<字符都被转义了

以下是我在包的dialog.xml中的默认值:

defaultValue="&lt;p>Timeless beauty. Classic simplicity. It must be the circle! Each &lt;a href=&quot;http://google.ca&quot;>Geometrixx-brand&lt;/a> circle is handcrafted from an infinite number of very skinny isoceles triangles arrange in, well, a circle! We guarantee that our circles are not simply&lt;i> n&lt;/i>-gons, where &lt;i>n&lt;/i> is a very large number; ours are guaranteed round, no matter how closely you look. test&lt;/p>&#xa;"
请注意,它们对属性使用“.”

此外,还有一个小警告,RTEPlugin不喜欢link checker=“skip”属性,它将删除它

如果希望保留链接检查器,您需要告诉它您有一个自定义属性要处理

我知道的唯一方法是通过经典对话框 这需要向RTEPlugin的linkDialogConfig中的linkAttributes添加一个新节点

像这样的

<skipchecker
    jcr:primaryType="nt:unstructured"
    attribute="link-checker"
    fieldDescription="Skip link checker"
    fieldLabel="Skip Checker"
    name="./linkdialog/skip"
    xtype="selection">   
        <options jcr:primaryType="cq:WidgetCollection">
            <noskip
                jcr:primaryType="nt:unstructured"
                text="No Skip"
                value=""/>  
            <skip
                jcr:primaryType="nt:unstructured"
                text="Skip"
                value="skip"/>         
        </options>
</skipchecker>


所有这些都是使用非可视组件进行的测试,但是您没有提到您使用的是哪个版本的文本组件。虽然Sighly组件的工作方式可能有点不同,但classic对话框是相同的,应该使用相同的插件。

我认为您的主要问题是defaultValue字段中使用的语法。 我只是通过向文本组件添加一个链接来进行测试,然后通过CRXDE获取jcr:content的./text并将其直接复制粘贴到组件的defaultValue字段

然后,我在页面中添加了一个新的组件实例,对其进行了编辑,默认值在RTE中,我只需单击Save,链接保持不变

我做了一个组件包来检查AEM在XML中放了什么,至少可以说,有点奇怪,所有的>字符都完好无损,而所有的<字符都被转义了

以下是我在包的dialog.xml中的默认值:

defaultValue="&lt;p>Timeless beauty. Classic simplicity. It must be the circle! Each &lt;a href=&quot;http://google.ca&quot;>Geometrixx-brand&lt;/a> circle is handcrafted from an infinite number of very skinny isoceles triangles arrange in, well, a circle! We guarantee that our circles are not simply&lt;i> n&lt;/i>-gons, where &lt;i>n&lt;/i> is a very large number; ours are guaranteed round, no matter how closely you look. test&lt;/p>&#xa;"
请注意,它们对属性使用“.”

此外,还有一个小警告,RTEPlugin不喜欢link checker=“skip”属性,它将删除它

如果希望保留链接检查器,您需要告诉它您有一个自定义属性要处理

我知道的唯一方法是通过经典对话框 这需要向RTEPlugin的linkDialogConfig中的linkAttributes添加一个新节点

像这样的

<skipchecker
    jcr:primaryType="nt:unstructured"
    attribute="link-checker"
    fieldDescription="Skip link checker"
    fieldLabel="Skip Checker"
    name="./linkdialog/skip"
    xtype="selection">   
        <options jcr:primaryType="cq:WidgetCollection">
            <noskip
                jcr:primaryType="nt:unstructured"
                text="No Skip"
                value=""/>  
            <skip
                jcr:primaryType="nt:unstructured"
                text="Skip"
                value="skip"/>         
        </options>
</skipchecker>


所有这些都是使用非可视组件进行的测试,但是您没有提到您使用的是哪个版本的文本组件。Sightly组件的工作方式可能有点不同,但是经典对话框是相同的,应该使用相同的插件。

您使用的链接有效吗(我假设该示例是一个虚拟url)?也许即使使用link checker='skip'(从未听说过),链接也会被链接检查器剥离。谢谢Thomas,我检查了,我的真实代码中的URL将指向一个有效的链接。您使用的链接是否有效(我假设该示例是一个伪URL)?也许即使使用链接检查器class='skip'(从未听说过),链接也会被链接检查器剥离。谢谢Thomas,我检查了,我真实代码中的URL将指向有效链接。谢谢Francois,“bit解决了我的主要问题。谢谢Francois,bit解决了我的主要问题。