2016-02-08 2 views

ответ

9

Вы можете добавить это к вашему Impex:

# Import config properties into impex macros 
UPDATE GenericItem[processor=de.hybris.platform.commerceservices.impex.impl.ConfigPropertyImportProcessor];pk[unique=true] 

Все ваши конфигурации от local.properties и т.д. теперь загружаются и могут быть использованы с помощью $config- префикса, скажем, например:

местный .properties

your.config.property=322 

Так что ваш Impex будет выглядеть примерно так:

# Import config properties into impex macros 
UPDATE GenericItem[processor=de.hybris.platform.commerceservices.impex.impl.ConfigPropertyImportProcessor];pk[unique=true] 

$variable=$config-your.config.property 

INSERT_UPDATE SampleItem;code[unique=true];name 
;sample1;$variable 

# OR you can just directly use the config macro 
INSERT_UPDATE SampleItem;code[unique=true];name 
;sample1;$config-your.config.property 

Надеюсь, это сработает для вас.

РЕДАКТИРОВАТЬ: Пожалуйста, обратите внимание, что если такого имущества не найдено, значение, хранящееся на образце выше, должно быть точно: $config-your.config.property.

+0

Спасибо! Протестировано, и это работает как шарм. – user1865775

+0

Ницца! Благодаря! –

0

Для завершения @Atsusa Kai answer можно избежать линии с одним заголовком.

Это довольно некрасиво, чтобы иметь эту линию только для загрузки свойств ... но это на самом деле то, что упоминалось в ConfigPropertyImportProcessor классе комментарий:

/** 
    * Impex ImportProcessor that injects all config properties as impex definitions. 
    * All defined configuration properties are added as impex macro definitions with 
    * the prefix of "config-". For example the config key <tt>mail.smtp.server</tt> 
    * can be accessed via the macro <tt>$config-mail.smtp.server</tt>. 
    * In order to use this import processor and to load the configuration properties 
    * the following must be added to the top of the impex file: 
    * 
    * <tt>UPDATE GenericItem[processor=de.hybris.platform.commerceservices.impex.impl.ConfigPropertyImportProcessor];pk[unique=true]</tt> 
    */ 

Альтернативой является использовал команду Beanshell, которые специально для такого рода действия.

Вы можете заменить UPDATE GenericItem линию

#%new de.hybris.platform.commerceservices.impex.impl.ConfigPropertyImportProcessor().init(impex) 

но вам необходимо включить выполнение кода.

 Смежные вопросы

  • Нет связанных вопросов^_^