AEM 6.2(将组件拖动到此处)Parsys 高度 0px

问题描述 投票:0回答:5

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

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

附上截图。

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

注意:我没有在上面的页面使用任何客户端库。 (没有CSS和JS)

此外,所有示例站点(例如 geomatrix 等)都可以正确显示 parsys。

有人可以指导我做错了什么吗?

components aem
5个回答
5
投票

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

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

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

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

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


5
投票

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

<!--/* 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>


1
投票

我认为 @l-klement 正确地指出了问题出在外部组件上。当我将 landpage.html 文件重命名为 body.html 时,它开始正常工作。我认为这可能是因为

wcm/foundation/components/page
中存在不同的文件,如 head.html 等,需要提供正确的样式并加载某些所需的客户端库,这些库为 parsys 分配正确的样式。

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


0
投票

我也有同样的问题。事实证明我的 css 不知何故导致了这个。尝试在网络中阻止模板 css(或 js),看看是否可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.