CQ对话:可以在文本中提供占位符吗?

时间:2015-01-21 18:44:57

标签: cq5 aem

我们有一个要求,其中页面的一部分将是部分可授权的并且是部分动态的。我的意思是"你有16次中有6次访问。"句子中的6和16来自REST服务调用,但是文本"你有......访问被遗漏了..."必须通过对话来授权。此外,我们正在使用AEM 6.

提前致谢

3 个答案:

答案 0 :(得分:2)

也许这个解决方案可以帮助其他人为他们的对话框文本域寻找简单的占位符文本(OP不是那么多)。使用emptyText属性...

<dialogText fieldLabel="AEM CLassic UI Text" jcr:primaryType="cq:Widget"
 name="./nameOfText" emptyText="THIS IS THE PLACEHOLDER" xtype="textfield"/>

答案 1 :(得分:0)

也许您可以从扩展foundation/components/text开始,用户需要输入有效的格式化字符串(即&#34;您在%d&#34之外还有%d次访问;)。

在您的组件中,您将实现text.jsp,因此会覆盖foundation/components/text的默认行为,您可以在其中执行类似

的操作
<cq:text property="text" escapeXml="true"
         placeholder="<%= Placeholder.getDefaultPlaceholder(slingRequest, component, null)%>"
         tagName="span"
         tagClass="myformatedmessage" />

您使用tagNametagClass,这会将格式表格文本放在<span class="myformatedmessage">...</span>中。然后使用jQuery找到它并在通过ajax获取数据后填充格式占位符。您可以将所有jQuery代码放入您扩展的同一组件中的clientlib文件夹中。

答案 2 :(得分:0)

根据您的描述,我认为您正在寻找替代或替代而不是占位符。

&#34;占位符&#34;通常是指在表单输入中显示文本,直到用户在字段中输入数据(例如提示数据)为止。

您通常有3个选项来替换部分数据:

  • 服务器端(防止页面在调度程序中可缓存)。需要解析创作的内容&amp;用所需的REST数据替换某种标签,例如&#34;你有$ {y}总计&#34;剩余$ {x}次访问。其他标记方式&#34;替换数据看起来像&#34;你有%x%的访问权限被排除在%y%&#34;
  • 之外
  • REST数据返回后的客户端JavaScript DOM操作。即$el.html(newDomContentString)
  • 客户端JavaScript模板(把手,灰尘等)。在JS中进行更多的初始设置,但通常可以更好地扩展。