Как переопределить шаблон ISML рендера в Intershop7

В Enfinity Suite 6.4 мы использовали для настройки страниц витрины путем переопределения ISML-шаблонов картриджей PrimeTech. Например, было возможно добавить зависимость в нашем пользовательском картридже в "sld_ch_consumer_app" и заменить любой шаблон Primetech ISML, добавив шаблон с тем же именем и иерархией в наш пользовательский картридж.

Возможно ли что-то подобное в Intershop7? Например, мы хотели бы изменить порядок элементов ISML в ProductTile.isml, не переопределяя модель страницы. Если мы добавим зависимость в наш пользовательский картридж в "app_sf_responsive_cm" и создадим шаблон ISML с тем же именем и иерархией папок в нашем пользовательском картридже, система все равно загрузит шаблон ISML из "app_sf_responsive_cm".

Единственным способом, которым нам удалось добиться, чтобы увидеть изменения в витрине, было переопределение модели страницы и изменение имени шаблона визуализации на "ProductTileCustom". Как это:

введите описание изображения здесь

Если мы не используем пользовательское имя для шаблона рендеринга, система сначала загрузит ProductTile.isml из app_sf_responsive_cm вместо одного из наших пользовательских картриджей (app_sf_a1_shop_cm).

Порядок картриджей в файле listlist.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 \

Есть ли какой-то более простой способ переопределить шаблоны ISML адаптивного хранилища, кроме переопределения модели страницы?

2 ответа

Решение

В дополнение к тому, что Бас де Гроот упомянул в отношении использования мастера межшопной студии для переопределения шаблона ISML, я хочу отметить, что ваша проблема заключается в неправильном порядке картриджей в файле cartlist.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 \

Другими словами, ваши картриджи проекта должны быть загружены после загрузки в магазин

Не должно быть необходимости переопределять модель страницы, просто переопределение шаблона ISML должно помочь. Вы можете легко переопределить шаблоны ISML в Intershop 7, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши на пользовательском картридже, в который вы хотите добавить новый шаблон, и выберите new > ISML Template,
  2. Во всплывающем окне нажмите Override Existing...,
  3. Выберите шаблон, который вы хотите переопределить и нажмите open,
  4. Нажмите Finish,

Intershop Studio теперь автоматически создает шаблон и корректирует структуру папок внутри указанного картриджа.

В зависимости от ваших настроек в appserver.properties файл, который может потребоваться перезапустить или даже повторно развернуть сервер приложений, прежде чем новый шаблон появится в веб-интерфейсе.

Другие вопросы по тегам