如果 impex 宏是字符串的一部分,我如何强调它?

How can I emphasize an impex macro if it is part of a string?

如果 impex 宏是字符串的一部分,我如何强调它?

我们可以这样做:

$prefix=alpha
$contentCatalog=$prefixContentCatalog

... $contentCatalog 将 return "alphaContentCatalog".

我可以用类似的东西使宏更明确吗:

$contentCatalog={$prefix}ContentCatalog

... 以便我可以立即看到宏是 $prefix?这有语法吗? (注意:花括号只是一个示例。此 syntax/symbol 不存在用于此目的)

另一个例子:如果我有类似下面的东西,它会变得混乱:

$prefix=electronics
$contentCatalog=$prefixContentCatalog
$contentCatalogFolderName=$contentCatalogFolder

但是如果可以写成这样会更容易理解:

$prefix=electronics
$contentCatalog={$prefix}ContentCatalog
$contentCatalogFolderName={$contentCatalog}Folder

Hhmmm,不幸的是,我认为这没有任何用处。我只看到一些解决方法,例如宏变量的特殊命名:

$_prefix_=electronics
$_contentCatalog_=$_prefix_ContentCatalog
$contentCatalogFolderName=$_contentCatalog_Folder

有另一种方法可以通过在 local.properties 中注入 属性 并使用 ConfigPropertyImportProcessor 来自定义微。

 UPDATE GenericItem[processor = de.hybris.platform.commerceservices.impex.impl.ConfigPropertyImportProcessor]; pk[unique = true]
$contentCatalog = $config-ly.br.content.catalog
$contentCV = catalogVersion(CatalogVersion.catalog(Catalog.id[default = $contentCatalog]), CatalogVersion.version[default = Staged])[default = $contentCatalog:Staged]

并且应在 local.properties 中添加条目。

ly.br.content.catalog=TestContentCatalog

注意:当我们有多个国家时,这很有用。