在对话框中,我只使用粗体插件配置了RichText小部件。
我现在的问题是,我必须更改它,以便内容不会保存在<b>
- 标签内,而是保存在<strong>
- 标签内。
我尝试通过覆盖CQ.form.rte.commands.DefaultFormatting.getTagNameForCommand
函数来解决这个问题。结果如下所示:
getTagNameForCommand: function(cmd) {
var cmdLC = cmd.toLowerCase();
var tagName = null;
switch (cmdLC) {
case "bold":
tagName = "strong";
break;
case "italic":
tagName = "i";
break;
case "underline":
tagName = "u";
break;
case "subscript":
tagName = "sub";
break;
case "superscript":
tagName = "sup";
break;
}
return tagName;
}
不幸的是,只有当我打开对话框并设置“粗体”时,它才有效。保存并再次重新打开对话框后,再也无法删除<strong>
- 标签。
我还尝试覆盖/扩展CQ.form.rte.plugins.FormatPlugin
和CQ.form.rte.commands.DefaultFormatting
以支持“强”命令。这也导致了同样的问题。
由于一些SEO问题,我的客户想要<strong>
- 标记。他不接受<b>
- 标签。
有没有办法解决这个问题?
问候
索伦
EDIT
<strong> tag getting replaced to <b> tag in CQ5上给出的解决方案不起作用。添加所描述的配置不会保存强标记。据我所知,解决方案只适用于MiscTools。
答案 0 :(得分:0)
我想在AEM6中做同样的事情。我采取了复制相关js wa=geo.make(state="WA")
kk<-lapply(c(x,y),function(i){
acs.fetch(endyear=i,span=1,geography=wa,variable="B01003_001", col.names=paste0("DM_TPOP_",i-2000))
})
names(kk)<-paste0("tpop_",c(x-2000,y-2000))
kk
$tpop_13
ACS DATA:
2013 ;
Estimates w/90% confidence intervals;
for different intervals, see confint()
DM_TPOP_13
Washington 6971406 +/- 0
$tpop_12
ACS DATA:
2012 ;
Estimates w/90% confidence intervals;
for different intervals, see confint()
DM_TPOP_12
Washington 6897012 +/- 0
并将其添加到apps内容文件夹/libs/cq/ui/rte/core/commands/DefaultFormatting.js
下的方法,然后修改了在apps下复制的DefaultFormatting.js副本。然后AEM6似乎使用'overlay'技术来应用强标签。
答案 1 :(得分:0)
答案 2 :(得分:0)
在AEM 6.3中,我已经能够让RTE使用强和 em 标签代替 b 和我将以下节点作为兄弟添加到对话框中的 uiSettings 和 rtePlugins 节点。
<htmlRules jcr:primaryType="nt:unstructured">
<docType jcr:primaryType="nt:unstructured">
<typeConfig jcr:primaryType="nt:unstructured"
useSemanticMarkup="{Boolean}true">
<semanticMarkupMap
b="strong"
i="em"/>
</typeConfig>
</docType>
</htmlRules>
我还注意到你必须为以前创作的richtext内容添加一个空格,以便让组件注意到更改并交换标记。