我创建了我的第一个AEM组件。功能非常简单:当组件被放到页面上时,组件将生成包含URL的内容,并提供配置选项以在新窗口中打开URL。
<a class="btn" href="${properties.ctaUrl}" target="${properties.ctaNewwindow}">${properties.ctaLabel}</a>
如何指定:target="_blank"
? xtype
的{{1}}为:ctaNewwindow
。
答案 0 :(得分:2)
如果复选框值为"true"
,则选中该复选框后,您只需使用如下内联表达式:
<a class="btn" href="${properties.ctaUrl}" target="${properties.ctaNewwindow != null && properties.ctaNewwindow.equals('true') ? '_blank' : '_self'}">${properties.ctaLabel}</a>
或者您可以直接在复选框定义中使用:"_blank"
作为value
:
<required
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/checkbox"
name="./required"
fieldDescription="Check to open in new window."
text="Open in new window"
value="_blank"/>
<deleteRequired
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./required@Delete"
value="_blank"/>
您的代码无需任何额外检查即可运行。