gpt4 book ai didi

adobe - cq :emptyText is not working in Adobe CQ5. 5

转载 作者:行者123 更新时间:2023-12-04 12:38:41 28 4
gpt4 key购买 nike

我正在 Adob​​e CQ5.5 中开发一个自定义容器组件,我想要一个自定义消息作为占位符,而不是默认的“将组件或 Assets 拖到此处”。

到目前为止,我发现我必须添加 cq:emptyText="My custom placeholder message"。可能我遗漏了一些东西,因为这个属性被完全忽略了。这是我的组件的文件夹结构:

  • [客户端库]
  • .content.xml
  • _cq_editConfig.xml
  • 对话框.xml
  • 我的容器.jsp

根据 Adobe's official tutorials还有this wonderful tutorial for building an Accordion container ,cq:emptyText 应该进入 _cq_editConfig.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:actions="[edit]"
cq:dialogMode="floating"
cq:emptyText="Drag My Custom components here"
jcr:primaryType="cq:EditConfig">
<cq:listeners
jcr:primaryType="cq:EditListenersConfig"
afteredit="REFRESH_PAGE"/>
</jcr:root>

不幸的是,即使包含 cq:emptyText 我仍然看到默认的占位符文本。

任何帮助将不胜感激!

谢谢!

斯坦。


更新:

在 Tomek 的建议之后,我仍然收到“将组件或 Assets 拖到此处”而不是我的自定义消息,因此我仍在寻找答案。我的组件的文件结构现在如下所示:- [客户端库]- [新的]---- .content.xml---- _cq_editConfig.xml- .content.xml- _cq_editConfig.xml- 对话框.xml- tabContainer.jsp

.content.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:isContainer="{Boolean}true"
jcr:primaryType="cq:Component"
jcr:title="Tab Container"
jcr:description="Container component for tab pages"
sling:resourceSuperType="foundation/components/parsys"
componentGroup="MyComponents"/>

_cq_editConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:actions="[edit]"
cq:dialogMode="floating"
jcr:primaryType="cq:EditConfig">
<cq:listeners
jcr:primaryType="cq:EditListenersConfig"
afteredit="REFRESH_PAGE"/>
</jcr:root>

new/.content.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:Component"
jcr:title="New Paragraph"
sling:resourceType="foundation/components/parsys/new"
componentGroup=".hidden"/>

新建/_cq_editConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:actions="[_clear,insert]"
cq:emptyText="Drag My Custom components here"
jcr:primaryType="cq:EditConfig" />

最佳答案

当您实现 parsys 时,您需要以下结构,正如 Tomek Rękawek 所建议的:

.content.xml(这里的重要部分是 resourceSuperType)

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:isContainer="{Boolean}true"
jcr:primaryType="cq:Component"
jcr:title="Your title"
sling:resourceSuperType="foundation/components/parsys" />

new/.content.xml

<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="cq:Component"
jcr:title="New Paragraph"
sling:resourceType="foundation/components/parsys/new"
componentGroup=".hidden"/>

new/_cq_editConfig.xml(这是您要设置 cq:emptyText 属性的地方)

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:actions="[_clear,insert]"
cq:emptyText="Drag My Custom components here"
jcr:primaryType="cq:EditConfig"/>

此刻我没有在组件占位符上看到“将我的自定义组件拖到此处”文本。对我来说诀窍是创建具有以下内容的 new/new.jsp:

new/new.jsp

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"
%><%@include file="/libs/foundation/global.jsp"
%><%@ page session="false" import="
com.day.cq.wcm.api.components.EditContext" %><%

editContext.getEditConfig().setEmpty(true);
%>

然后我能够看到我在 new/_cq_editConfig.xml 中设置的空文本。我已经在 CQ5.6 上测试过了。

希望这对您有所帮助。

关于adobe - cq :emptyText is not working in Adobe CQ5. 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233653/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com