1

在 Enfinity Suite 6.4 中,我们过去常常通过覆盖 PrimeTech 墨盒的 ISML 模板来自定义店面页面。例如,可以在我们的自定义墨盒中将依赖项添加到“sld_ch_consumer_app”,并通过在我们的自定义墨盒中添加具有相同名称和层次结构的模板来替换任何 Primetech ISML 模板。

在 Intershop7 中是否有可能发生这样的事情?例如,我们想改变 ProductTile.isml 中 ISML 元素的顺序,而不覆盖 pagelet 模型。如果我们在自定义插件中添加依赖项到“app_sf_responsive_cm”,并在自定义插件中创建具有相同名称和文件夹层次结构的 ISML 模板,系统仍会从“app_sf_responsive_cm”加载 ISML 模板。

我们设法看到店面变化的唯一方法是覆盖 pagelet 模型并将呈现模板名称更改为“ProductTileCustom”。像这样:

在此处输入图像描述

如果我们不使用渲染模板的自定义名称,系统将首先从 app_sf_responsive_cm 加载 ProductTile.isml,而不是我们自定义的墨盒 (app_sf_a1_shop_cm)。

墨盒列表.properties 中墨盒的顺序是这样的:

....
bc_urlrewrite_test \
bc_product_rating_orm_test \
commerce_management_b2c_component \
app_core_a1 \
app_sf_a1_shop \
app_sf_a1_shop_cm \
app_bo_a1 \
app_sf_responsive \
app_sf_responsive_cm \
app_sf_responsive_b2c \
app_sf_responsive_smb \
as_responsive \
as_a1 \

除了覆盖 pagelet 模型之外,还有其他更简单的方法来覆盖响应式商店 ISML 模板吗?

4

2 回答 2

2

不需要重写 pagelet 模型,只需重写 ISML 模板就可以了。您可以通过执行以下操作轻松覆盖 Intershop 7 中的 ISML 模板:

  1. 右键单击要添加新模板的自定义墨盒,然后选择new > ISML Template
  2. 在出现的弹出窗口中单击Override Existing...
  3. 选择要覆盖的模板并单击open
  4. 单击Finish

Intershop Studio 现在将在您指定的墨盒中自动创建模板和正确的文件夹结构。

根据您在appserver.properties文件中的设置,您可能需要重新启动甚至重新部署应用程序服务器,然后新模板才会显示在前端。

于 2018-06-29T11:59:50.747 回答
2

除了 Bas de Groot 提到的关于使用 intershop studio 向导覆盖 ISML 模板的内容之外,我想指出您的问题在于您的 Cartridgelist.properties 中的墨盒顺序错误。所以而不是:

bc_urlrewrite_test \ bc_product_rating_orm_test \ commerce_management_b2c_component \ app_core_a1 \ app_sf_a1_shop \ app_sf_a1_shop_cm \ app_bo_a1 \ app_sf_responsive \ app_sf_responsive_cm \ app_sf_responsive_b2c \ app_sf_responsive_smb \ as_responsive \ as_a1 \

您必须在此处使用此命令:

bc_urlrewrite_test \ bc_product_rating_orm_test \ commerce_management_b2c_component \ app_sf_responsive \ app_sf_responsive_cm \ app_sf_responsive_b2c \ app_sf_responsive_smb \ as_responsive \ as_a1 \ app_core_a1 \ app_sf_a1_shop \ app_sf_a1_shop_cm \ app_bo_a1 \

换句话说,您的项目墨盒必须在 intershop 东西之后加载

于 2018-06-29T13:12:41.583 回答