如何在AEM 6.1中创建页面详细信息

时间:2017-11-22 13:18:02

标签: aem cq5 sling htl

我想创建一个产品的页面详细信息,其中包含AEM 6.1中的名称,ID,类型,状态,数量,描述等信息。但对我来说似乎很难。

假设有一个产品清单表。点击一行中的读取一个链接后,该项目的详细信息页面将完全呈现。

enter image description here

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为这实际上取决于您的产品详细信息(ID,类型,状态,数量,描述等)的存储方式。

一个好的解决方案是创建一个新的页面组件,该组件读取在单击 READ ONE 按钮时传递的ID http参数,作为渲染新(PRODUCT DETAIL)页面的参数。 因此所有按钮都如下所示:www.mywebsite / products / productdetails?ID = x 其中 x 是单击时给定行中产品的ID。

您的新网页组件必须包含与此类似的代码段:

<div id="product-detail-component" data-sly-use.product="com.mypackage.models.ProductModel">
 <ul>
    <li>${product.ID} </li>
    <li>${product.description}</li>
</ul>
</div>

然后你需要一个可以处理http参数的新Sling Model类

@Model({adaptables= Resource.class,SlingHttpServletRequest.class}) public class Product Model {

@PostConstruct
    public void init()
    {
/*
1.retrieve HTTP parameter which is ID
2.access resourceResolver/resource to locate node containing product properties relative to resource location
*/
}
}

这是一个非常基本但不起作用的例子,但我认为它可能会给你一个更好的方向。