【发布时间】:2016-06-21 10:34:19
【问题描述】:
最近我在使用 Hybris,我无法理解组件是如何工作的。
我知道如何创建和定义一个,如何将它们添加到我想要的页面等。但我不明白如何在jsp 文件中使用标签<cms: component>。
在产品详细信息页面的插槽AddToCartSlot 中,我添加了更多组件。我试图像标准一样调用我的组件并评论他的行。
默认调用组件如下:
<cms:pageSlot position="AddToCart" var="component">
<cms:component component="${component}" />
</cms:pageSlot>
所以我也尝试调用我的组件,但不起作用:
<cms:pageSlot position="MyComponent" var="component">
<cms:component component="${component}" />
</cms:pageSlot>
所以我的台词评论和取消评论他的台词,所有组件都显示在页面上。
但是对我来说这没有任何意义,因为在标签cms:pageSlot 的位置属性中应该接收到插槽的 id 而不是组件的 id 以显示所有组件插槽。但是,将 id 设置为 AddToCart 而不是 AddToCartSlot 是所有组件都显示在页面上的唯一方式。
现在你会想“如果组件显示在 Web 上会出现什么问题?”,好吧,问题是这些组件没有通过与它们对应的 java 控制器(尽管在com.myStore.storefront.controllers.ControllerConstants.java 文件)。另外,我想了解它为什么不能正常工作。
我按照 Wki Hybris 的步骤进行操作,发现所有内容都按原样声明给另一个正常工作的自定义组件。我找不到差异,我不明白为什么不通过我的控制器,或者为什么标签不能像插槽的 id 那样工作,但是当我使用组件的标识符时它“工作”。
真的,任何想法都会有所帮助。
非常感谢。
【问题讨论】:
-
请添加您所遵循的所有步骤,我没有看到任何关于您如何创建模板、页面、插槽名称、页面插槽......