currentStyle.<propertyName> 在 cq5 发布者中返回 null,这在作者中工作得很好

currentStyle.<propertyName> is returning null in cq5 publisher, which is working perfectly fine in author

我正在使用 sightly 访问组件的设计对话框属性。 像

<span data-sly-test="${currentStyle.delimiter}">${currentStyle.delimiter}</span>

但我得到的只是一个空字符串。

我尝试通过以下方法解决问题。

  1. 激活设计节点
  2. 正在删除页面并创建新页面。
  3. 正在删除组件并在页面上再次拖放组件。
  4. 我检查了 currentDesign 的 JSON 输出,我尝试访问的所有值都在那里可用。

你有两个选择

  1. 在预览/发布模式下通过以下方式获取设计值 currentDesign.getJSON(),解析返回值然后 从 Json 对象中键入您想要的值。
  2. 您可以通过从模板中删除一行代码来解决此问题 head.js。如果您从“/libs”之一继承任何模板 (视线)页面和 head.js 将有下面的代码行 所以你可以在你的模板中覆盖 head.js 并注释掉 在代码行下方。

if (wcmmode.disabled) { request.setAttribute(Packages.com.day.cq.wcm.api.components.ComponentContext. BYPASS_COMPONENT_HANDLING_ON_INCLUDE_ATTRIBUTE, true); }

将此注释掉,一切恢复正常。