【问题标题】:AEM 6.2 (Drag Component Here) Parsys height 0pxAEM 6.2(在此处拖动组件)Parsys 高度 0px
【发布时间】:2017-11-22 02:21:55
【问题描述】:

我正在使用 AEM 6.2 并尝试使用以下代码在 crx 中创建 parsys 组件

但是,在编辑模式下,这个 parsys 的高度为 0px。

附上截图。

当我手动将高度更改为某些值时,例如。 40px,看起来不错。

注意:我没有为上述页面使用任何客户端库。 (没有css和js)

此外,geomatrix 等所有示例站点的 parsys 都正确显示。

谁能指导我做错了什么?

【问题讨论】:

  • 您能否尝试以下操作:在您的 HTL 模板中将您的代码更改为:<div data-sly-resource="${ 'par' @ resourceType='wcm/foundation/components/parsys'}"></div>。看看这是否有效?这将是 parsys 的“更新”版本,应该更好地支持 TouchUI。
  • 我刚刚尝试将 parsys 的 resourceType 更改为 wcm/foundation/components/parsys 但没有帮助。
  • 您是否也更改了@path='par' 部分?我只是好奇,因为我从来没有见过这样的。官方文档也没有这样显示。见herehere
  • 我做到了。使用<div data-sly-resource="${ @path='par' resourceType='wcm/foundation/components/parsys'}"></div> <div data-sly-resource="${'par' @ resourceType='wcm/foundation/components/parsys'}"></div>。他们都有相同的结果。

标签: components aem


【解决方案1】:

我认为问题出在组件或此处显示的任何代码之外。

我认为正在发生的事情是未加载为 droptarget 占位符提供其尺寸的 div 的 css 样式。

这是作为 AEM 创作客户端库的一部分加载的,您应该从基础页面组件继承。

检查页面组件的 sling:resourceSuperType 属性。它应该指向 wcm/foundation/components/page 或 wcm/foundation/components/page 或继承自具有此功能的组件。

如果设置了,那么您可能已经阻止了其中的一个脚本,很可能是 head.html。

【讨论】:

  • 谢谢李。但是,我已经将我的页面组件sling:resourceSuperType 属性指向wcm/foundation/components/page。如上面的截图所示,我只有一个页面组件具有 html 头部和主体。我没有使用任何其他可能阻止脚本的客户端库。不知道是什么原因。
【解决方案2】:

在页面组件的渲染脚本的头部包含以下代码。

<!--/* Include Adobe Dynamic Tag Management libraries for the header 
<sly data-sly-include="/libs/cq/cloudserviceconfigs/components/servicelibs/servicelibs.jsp" data-sly-unwrap/>
*/-->
  <!--/* Initializes the Experience Manager authoring UI */-->
<sly data-sly-include="/libs/wcm/core/components/init/init.jsp" data-sly-unwrap/>

【讨论】:

    【解决方案3】:

    为了解决您的问题,您需要在写下 parsys 代码之前首先包含 init.jsp。我的意思是这样写。

    <head>
    
        <sly data-sly-include='/libs/wcm/core/components/init/init.jsp' />
    </head>
    <body>
    
        <sly data-sly-resource="${'par' @resourceType='foundation/components/parsys'}" />
    </body>
    

    【讨论】:

    • 这帮助了我的问题,这与 OP 相同,除了 responsegrid 组件。
    【解决方案4】:

    我认为@l-klement 正确地指出问题出在组件之外。当我将landingpage.html 文件重命名为body.html 时,它开始正常工作。我认为这可能是因为wcm/foundation/components/page 上存在不同的文件,如 head.html 等,这些文件需要提供正确的样式并加载某些所需的客户端库,这些客户端库会为 parsys 分配正确的样式。

    如果上述情况属实,我的下一个问题是,如何在不影响 parsys 样式的情况下拥有自己的 head.html、body.html、header.html、footer.html 等文件?强>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多