Hybris: Как импортировать медиафайлы, которые находятся в zip-файле в impex? - PullRequest
1 голос
/ 19 апреля 2019

Я знаю, что мы можем импортировать изображения, которые не заархивированы, как это

$siteResource=jar:com.project.initialdata.constants.ProjectInitialDataConstants&/projectinitialdata/import/sampledata/images/brand

INSERT_UPDATE Media ; code[unique=true]               ; mediaFormat(qualifier) ; realfilename                               ; @media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator] ; mime[default='image/jpeg'] ; catalogVersion(catalog(id),version)[unique=true,allownull=true]
                    ; logo-molinard.jpg               ;                        ; Molinard_logo.jpg                          ; $siteResource/8918352691230.jpg                                                          ; image/jpeg                 ; hybrisContentCatalog:Staged                                    
                    ; Logo_LittleMarcel               ;                        ; LM_logo.jpg                                ; $siteResource/8918375858206.jpg                                                          ; image/jpeg                 ; hybrisContentCatalog:Staged   

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

Обновление:

Это работает, когда я так:

$siteResource=zip:C:\HYBRIS_SERVER\hybris\bin\custom\project\projectinitialdata\resources\projectinitialdata\import\sampledata\images\brand

INSERT_UPDATE Media ; code[unique=true] ; mediaFormat(qualifier) ; realfilename      ; @media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator] ; mime[default='image/jpeg'] ; catalogVersion(catalog(id),version)[unique=true,allownull=true]
                    ; logo-molinard.jpg ;                        ; Molinard_logo.jpg ; $siteResource/images.zip&8918352691230.jpg                                 ; image/jpeg                 ; hybrisContentCatalog:Staged                                    

Примечание выше, я даю абсолютный путь.

Но когда я попытался указать относительный путь, он не сработал

$siteResource=zip:com.project.initialdata.constants.ProjectInitialDataConstants&/projectinitialdata/import/sampledata/images/brand

INSERT_UPDATE Media ; code[unique=true] ; mediaFormat(qualifier) ; realfilename      ; @media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator] ; mime[default='image/jpeg'] ; catalogVersion(catalog(id),version)[unique=true,allownull=true]
                    ; logo-molinard.jpg ;                        ; Molinard_logo.jpg ; $siteResource/images.zip&8918352691230.jpg                                 ; image/jpeg                 ; hybrisContentCatalog:Staged   

1 Ответ

0 голосов
/ 19 апреля 2019

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

Настраиваемое руководство для переводчика: https://help.hybris.com/1811/hcd/ef51040168d743879c015b7de232ce40.html

Обновление
Вам необходимо использовать jar и zip вместе.Может быть, вы можете получить папку до почтового индекса, как показано ниже:

$siteZipResource=jar:com.project.initialdata.constants.ProjectInitialDataConstants
$siteResource=zip:$siteZipResource&/projectinitialdata/import/sampledata/images/brand
...