EdeeShop · Implementace

CSV Import a export značek

Upraveno

Dokument popisuje konfiguraci pro import a export značek. Obecné nastavení pro import a export je zde.

Příklad konfigurace

xml
<brands>    <brand>        <systemName>singleImport</systemName>        <columns>            <entityCode>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <mode/>                <required>true</required>            </entityCode>            <property>                <title>name</title>                <aliasOverrideCode/>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <mode/>                <propertyName/>                <required>true</required>                <targetEntity/>            </property>            <localization>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <lang>cs</lang>                <mode/>                <propertyName/>                <required>true</required>                <targetEntity/>            </localization>            <gallery>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <galleryCode/>                <galleryTitle/>                <ignoredValues/>                <importPriority>0</importPriority>                <mode/>                <priorityTitle/>                <required>true</required>                <targetEntity/>            </gallery>            <oldUrl>                <title>name</title>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <lang>cs</lang>                <mode/>                <required>true</required>            </oldUrl>            <tag>                <title>name</title>                <positiveValues/>                <tag/>                <alternativeTitle/>                <columnValueDelimiter/>                <defaultValue/>                <exportPriority>0</exportPriority>                <ignoredValues/>                <importPriority>0</importPriority>                <mode/>                <queryExtension/>                <required>true</required>            </tag>        </columns>        <columnValueDelimiter/>        <createEntityIfMissing/>        <defaultStatus/>        <defaultVisibility/>        <encoding/>        <exportFilter/>        <exportPageSize/>        <fileNamePrefix/>        <mode/>        <normalizeCode/>        <pivotProperty/>    </brand></brands>

Popis

brands/brand

Konfigurace importu a exportu značek.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
systemName

Unikátní systémový název definice importu/exportu.

Název se zobrazuje v AR.

String

✔

-

columns/entityCode

Definice sloupce, který jednoznačně identifikuje entitu. Povinná hodnota.

columns/entityCode

✔

-

columns/property

Vlastnosti entity (entita musí implementovat MetadataContainerProvider)

List: columns/property

-

-

columns/localization

Lokalizované vlastnosti entity.

List: columns/localization

-

-

columns/gallery

Media gallerie přiřazené k entitě

List: columns/gallery

-

-

columns/oldUrl

Historické url entity.

List: columns/oldUrl

-

-

columns/tag

Štítky přiřazené k entitě.

Štítky lze importovat dvěmi způsoby:

  1. Sloupec reprezentuje jeden štítek (viz tag) a hodnoty v jednotlivých řádcích udávají, zda daný produkt má/nemá přiřazen štítek. Výčet hodnot, které přiřadí štítek k entitě je definován v positiveValues. Ostatní hodnoty nebo prázdná hodnota, znamená, že štítek přiřazen není. Příklad:
    kód
    kod produktu; novinka01;ano02;ne
  2. Sloupec obsahuje výčet všech štítků přiřazených k produktu. Pokud je hodnota prázdná, jsou všechny štítky odebrány. Pokud některý ze štítku není definován, je zobrazena příslušná chybová hláška. Příklad:
    csv
    kod produktu; štítky01;novinka|akce|doprava zdarma02;

List: columns/tag

-

-

columnValueDelimiter

Oddělovač hodnot v rámci jednoho sloupce.

String

-

\|

createEntityIfMissing

Pokud je hodnota true a entita nebyla podle entityCode nalezena, tak se vytvoří nová.

boolean

-

true

defaultStatus

Výchozí com.fg.cps.eshop.catalogEntity.model.EdeeShopEntity#setStatus(CatalogEntityStatus) status při nové entity.

  • ACTIVE - Entity is available on frontend.
  • TRASHED - Entity is entirely not available on frontend.
  • PRIVATE - Entity is entirely not available on frontend, but it's visible in administration.

-

ACTIVE

defaultVisibility

Výchozí viditelnost pro nově založené entity.

  • INVISIBLE - Entita je dostupná pouze na konkrétní detail stránce (se znalostí URL), není vyhledatelná a není přítomná ve výpisech.

Entity is not browsable, searchable, but is still accessible on direct url (detail page).

  • VISIBLE - Entita je viditelní v rozcestnících, lze vyhledat, je přístupná na detail stránce.

Entity is browsable, searchable and accessible on direct url (detail page).

-

VISIBLE

encoding

Kódování CSV souboru. Pokud není definováno, bere se globální nastavení 'csvIO/encoding'.

String

-

-

exportFilter

Filter, kterým lze omezit rozsah dat pro export.

String

-

-

exportPageSize

Velikost dávky při exportu dat.

int

-

100

fileNamePrefix

Slouží jako prefix pro název souboru s exportem dat. Název dále obsahuje aktuální čas ve formátu yyyyMMddHHmmss a příponu .csv.

Pokud není definován, použije se systemName hodnota.

String

-

-

mode

Určuje, zda se formát používá pro import, export nebo obojí.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

normalizeCode

Přepínač normalizace kódu.

Pokud je true (default), tak kód z importního souboru projde normalizací. Pokud je false, tak kód se nenormalizuje, ale pouze se validuje.

boolean

-

true

pivotProperty

Property entity, podle které se bude mapovat importní data. Standardně bývá kód, ale může být například i název pokud je název v rámci dané entity unikátní.

String

-

code

columns/entityCode

Definice sloupce, který jednoznačně identifikuje entitu. Povinná hodnota.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

0

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

columns/property

Vlastnosti entity (entita musí implementovat MetadataContainerProvider)

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

aliasOverrideCode

Kód property z pohledu dědění alias-produktů.

Nepovinná hodnota, pokud není uvedeno, tak je použita hodnota BaseEntityProperty#getPropertyName()

String

-

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování v rámci importu.

int

-

1000

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

propertyName

Název vlastnosti, která má bý importována/exportována.

String

✔

-

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

targetEntity

Cílová entita, do které se má hodnota nastavit.

Pokud je hodnota rovna com.fg.cps.eshop.importExport.business.processor.editor.BasePropertyEditor#TARGET_ENTITY_MASTER_PRODUCT, tak se vlastnost uloží k master produktu (nastavení má smysl pouze pro varianty). V opačném případě se uloží do aktuálně importované entity.

String

-

-

columns/localization

Lokalizované vlastnosti entity.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

1000

lang

Jazyk lokalizace

String

✔

-

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

propertyName

Název vlastnosti, která má bý importována/exportována.

String

-

name

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

targetEntity

Cílová entita, do které se má vlastnost nastavit.

Pokud je hodnota rovna rovna com.fg.cps.eshop.importExport.business.processor.editor.BasePropertyEditor#TARGET_ENTITY_MASTER_PRODUCT, tak se vlastnost uloží k master produktu (nastavení má smysl pouze pro varianty). V opačném případě se uloží do aktuálně importované entity.

String

-

-

columns/gallery

Media gallerie přiřazené k entitě

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

galleryCode

Kód galerie v rámci konfigurace com.fg.cps.eshop.mediaGallery.MediaGalleryFeature

String

-

-

galleryTitle

Název sloupečku s textem k obrázku - to co se vyplňuje tady

String

-

-

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

0

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

priorityTitle

Název sloupečku, ve kterém je určena priorita zobrazení daného media. Pokud není uvedeno je jako default 0;

String

-

-

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

targetEntity

Cílová entita, do které se má galerie importovat.

Pokud je hodnota rovna rovna com.fg.cps.eshop.importExport.business.processor.editor.BasePropertyEditor#TARGET_ENTITY_MASTER_PRODUCT, tak se mediaGallery uloží k master produktu (nastavení má smysl pouze pro varianty). V opačném případě se uloží do aktuálně importované entity.

String

-

-

columns/oldUrl

Historické url entity.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

0

lang

Jazyk, ke kterému se url vztahuje.

String

✔

-

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false

columns/tag

Štítky přiřazené k entitě.

Štítky lze importovat dvěmi způsoby:

  1. Sloupec reprezentuje jeden štítek (viz tag) a hodnoty v jednotlivých řádcích udávají, zda daný produkt má/nemá přiřazen štítek. Výčet hodnot, které přiřadí štítek k entitě je definován v positiveValues. Ostatní hodnoty nebo prázdná hodnota, znamená, že štítek přiřazen není. Příklad:
    kód
    kod produktu; novinka01;ano02;ne
  2. Sloupec obsahuje výčet všech štítků přiřazených k produktu. Pokud je hodnota prázdná, jsou všechny štítky odebrány. Pokud některý ze štítku není definován, je zobrazena příslušná chybová hláška. Příklad:
    csv
    kod produktu; štítky01;novinka|akce|doprava zdarma02;
VlastnostPopisHodnotaPovinnáVýchozí hodnota
title

Název sloupce v importu nebo exportu.

String

✔

-

positiveValues

Hodnoty, které určují, že štítek má být přidělen k entitě.

String

-

-

tag

Pokud je hodnota vyplněna, tak hodnota určuje štítek (přesněji Tag#getSystemId()), který se k entitě přidělí pokud je hodnota importu odpovídá nějaké hodnotě z EntityTagAttribute#positiveValues.

Příklad:

xml
<tag>        <title>Novinky</title><!-- název štítku -->        <tag>novinka</tag><!-- systemId štítku -->        <positiveValues><!-- hodnoty, které určují, že štítek má být přidělen k entitě -->            <value>ano</value>            <value>Ano</value>        </positiveValues></tag>

String

-

-

alternativeTitle

Název/Názvy pro alternativní sloupec. V případě, že je standardní hodnota prázdná (tzv. hodnota ve sloupci dle title je prázdná), je možné použít hodnotu z jiných sloupců. Jiné sloupce jsou určeny tímto atributem, kde jako oddělovač pro jednotlivé sloupce je |.

String

-

-

columnValueDelimiter

Oddělovač hodnot pro tento sloupec. Pokud není definován použije se delimiter definovaný pro celý formát ImportEntityDefinition#getColumnValueDelimiter()

Tedy v rámci jednoho sloupce je možné použít více hodnot, které se oddělují tímto oddělovačem.

String

-

-

defaultValue

Pokud je importovaná hodnota prázdná, tak se doplní tato výchozí hodnota.

String

-

-

exportPriority

Určuje pořadí sloupců v exportu.

int

-

0

ignoredValues

Seznam hodnot, které se mají při importu ignorovat.

String

-

-

importPriority

Určuje prioritu zpracování importu atributů.

int

-

0

mode

Režim určující, zda je možné provádět import, export nebo obojího.

  • IMPORT_EXPORT - Import i export.
  • IMPORT_ONLY - Import pouze.
  • EXPORT_ONLY - Export pouze.

-

IMPORT_EXPORT

queryExtension

String

-

-

required

Určuje, že je hodnota povinná. Tedy pokud je hodnota true a importní soubor obsahuje daný sloupec, tak je nutné, aby sloupec obsahoval hodnotu. Jinak import entity selže.

boolean

-

false