通过插件更改 Hybris 上的徽标
Change logo on Hybris through addon
我是 Hybris 的新手,我想更改 Hybris OOTB (PowerTools) 的徽标。但我想通过我新创建的插件来做到这一点。
我发现在这个 impex 文件 (cm-content_en.impex) 中我有这个
# Site Logo Component
UPDATE SimpleBannerComponent;$contentCV[unique=true];uid[unique=true];$picture[lang=$lang]
;;SiteLogoComponent;/images/default_logo.svg
现在,我想添加我的自定义徽标 svg,它位于
/companystorefrontaddon/acceleratoraddon/web/webroot/_ui/responsive/common/images/new_logo.svg
如何将路径添加到我的 impex 文件?
谢谢
首先,将您的图片 (.svg) 放在:powertoolsstore\resources\powertoolsstore\import\sampledata\contentCatalogs\powertoolsContentCatalog\images\theme\
.
然后,接下来用代码 my_default_logo.svg
创建一个 Media
使用这个 impex
:
## in : cms-content.impex
$contentCatalog=powertoolsContentCatalog
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged]
$media=media(code, $contentCV);
$siteResource=jar:de.hybris.platform.powertoolsstore.constants.PowertoolsStoreConstants&/powertoolsstore/import/sampledata/contentCatalogs/$contentCatalog
INSERT_UPDATE Media;$contentCV[unique=true];code[unique=true];realfilename;@media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator];mime[default='image/jpeg'];altText;folder(qualifier)[default='images']
; ;my_default_logo.svg ;default_logo.svg ;$siteResource/images/theme/default_logo.svg ;image/png; ;
注意:这个变量$siteResource
指的是powertoolsstore\resources\powertoolsstore\import\sampledata\contentCatalogs\powertoolsContentCatalog\
.
- 最后将新创建的
Media
附加到 SiteLogoComponent
:
## in : cms-content_en.impex
$lang=en
$contentCatalog=powertoolsContentCatalog
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged]
$picture=media(code, $contentCV);
INSERT_UPDATE SimpleBannerComponent;$contentCV[unique=true];uid[unique=true];$picture[lang=$lang]
;;SiteLogoComponent; my_default_logo.svg
注意 :您需要更新 cms-content_fr.impex
和 cms-content_de.impex
以及所有其他语言。
- 您应该运行 同步 Powertools 内容目录(来自:Staged转在线)否则看不到前面的变化
我是 Hybris 的新手,我想更改 Hybris OOTB (PowerTools) 的徽标。但我想通过我新创建的插件来做到这一点。 我发现在这个 impex 文件 (cm-content_en.impex) 中我有这个
# Site Logo Component
UPDATE SimpleBannerComponent;$contentCV[unique=true];uid[unique=true];$picture[lang=$lang]
;;SiteLogoComponent;/images/default_logo.svg
现在,我想添加我的自定义徽标 svg,它位于
/companystorefrontaddon/acceleratoraddon/web/webroot/_ui/responsive/common/images/new_logo.svg
如何将路径添加到我的 impex 文件? 谢谢
首先,将您的图片 (.svg) 放在:
powertoolsstore\resources\powertoolsstore\import\sampledata\contentCatalogs\powertoolsContentCatalog\images\theme\
.然后,接下来用代码
my_default_logo.svg
创建一个Media
使用这个impex
:
## in : cms-content.impex
$contentCatalog=powertoolsContentCatalog
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged]
$media=media(code, $contentCV);
$siteResource=jar:de.hybris.platform.powertoolsstore.constants.PowertoolsStoreConstants&/powertoolsstore/import/sampledata/contentCatalogs/$contentCatalog
INSERT_UPDATE Media;$contentCV[unique=true];code[unique=true];realfilename;@media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator];mime[default='image/jpeg'];altText;folder(qualifier)[default='images']
; ;my_default_logo.svg ;default_logo.svg ;$siteResource/images/theme/default_logo.svg ;image/png; ;
注意:这个变量$siteResource
指的是powertoolsstore\resources\powertoolsstore\import\sampledata\contentCatalogs\powertoolsContentCatalog\
.
- 最后将新创建的
Media
附加到SiteLogoComponent
:
## in : cms-content_en.impex
$lang=en
$contentCatalog=powertoolsContentCatalog
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Staged])[default=$contentCatalog:Staged]
$picture=media(code, $contentCV);
INSERT_UPDATE SimpleBannerComponent;$contentCV[unique=true];uid[unique=true];$picture[lang=$lang]
;;SiteLogoComponent; my_default_logo.svg
注意 :您需要更新 cms-content_fr.impex
和 cms-content_de.impex
以及所有其他语言。
- 您应该运行 同步 Powertools 内容目录(来自:Staged转在线)否则看不到前面的变化