EdeeShop · Implementace

XML Feeds

Upraveno

Tato kapitola popisuje konfiguraci feedů

Konfigurační soubor se standardně nachází v adresáři /config/module-edeeshop/features/interface/xml-feed.xml.

Příklad konfigurace

xml
<xmlFeed>    <alternativeImgGallery/>    <alternativeImgVariant/>    <defaultCategoryKey/>    <disableShipping/>    <exportShippingBlackList/>    <feedTypes>        <feedType>            <code/>            <interval/>        </feedType>    </feedTypes>    <ignoredPricePolicies/>    <imgDefault/>    <imgGallery/>    <imgVariant/>    <productFeedPageSize/>    <snippetProductQuery/>    <storage/>    <templatePath/>    <feeds>        <feed>            <region/>            <code>google</code>            <type>PRODUCTS</type>            <alternativeImgGallery>galerie</alternativeImgGallery>            <alternativeImgVariant>eshop-product-detail</alternativeImgVariant>            <categoryPathSeparator>&gt;</categoryPathSeparator>            <exportFileName>googlec43vwp</exportFileName>            <externalCategorySource>google</externalCategorySource>            <imgDefault>/img/eshop/placeholder/eshop-product-detail.jpg</imgDefault>            <imgGallery>hlavni-motiv</imgGallery>            <imgVariant>eshop-product-detail</imgVariant>            <multiplyPriceByPackage/>            <profile>heurekaProfile</profile>            <salePrice/>            <shouldSkipItem/>            <snippetTemplate>feed-product-google.ftl</snippetTemplate>            <template>feed-google.ftl</template>        </feed>    </feeds>    <profiles>        <profile>            <code/>            <converters>                <converter>                    <code>shippingType</code>                    <values>     &lt;values&gt;      &lt;POST_OFFICE_TO_HAND&gt;CESKA_POSTA&lt;/POST_OFFICE_TO_HAND&gt;   &lt;POST_OFFICE_TO_POST_OFFICE&gt;CESKA_POSTA_NAPOSTU_DEPOTAPI&lt;/POST_OFFICE_TO_POST_OFFICE&gt;&lt;DPD&gt;DPD&lt;/DPD&gt;&lt;DHL&gt;DHL&lt;/DHL&gt;     &lt;/values&gt;</values>                </converter>            </converters>        </profile>    </profiles>    <catalogSpecific>        <catalogCode/>        <alternativeImgGallery/>        <alternativeImgVariant/>        <defaultCategoryKey/>        <disableShipping/>        <exportShippingBlackList/>        <ignoredPricePolicies/>        <imgDefault/>        <imgGallery/>        <imgVariant/>        <productFeedPageSize/>        <snippetProductQuery/>        <storage/>        <templatePath/>        <feeds>            <feed>                <region/>                <code>google</code>                <type>PRODUCTS</type>                <alternativeImgGallery>galerie</alternativeImgGallery>                <alternativeImgVariant>eshop-product-detail</alternativeImgVariant>                <categoryPathSeparator>&gt;</categoryPathSeparator>                <exportFileName>googlec43vwp</exportFileName>                <externalCategorySource>google</externalCategorySource>                <imgDefault>/img/eshop/placeholder/eshop-product-detail.jpg</imgDefault>                <imgGallery>hlavni-motiv</imgGallery>                <imgVariant>eshop-product-detail</imgVariant>                <multiplyPriceByPackage/>                <profile>heurekaProfile</profile>                <salePrice/>                <shouldSkipItem/>                <snippetTemplate>feed-product-google.ftl</snippetTemplate>                <template>feed-google.ftl</template>            </feed>        </feeds>    </catalogSpecific></xmlFeed>

Popis

xmlFeed

Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
alternativeImgGallery

Použitý kód galerie pro načtení alternativních obrázků pro feed

String

-

galerie

alternativeImgVariant

Kód alternativní varianty pro načtení obrázku z galerie FeedFeatureConfig#getAlternativeImgGallery()

String

-

eshop-product-detail

defaultCategoryKey

Kód kategorie, pokud žádná kategorie pro produkt neexistuje

String

-

-

disableShipping

Zrušení načítání doprav pro konkrétní produkt po vložení do košíku.

Boolean

-

false

exportShippingBlackList

Ignorované dopravy při zpracování feedů

List: String

-

-

feedTypes/feedType

Typy exportních feedů, pokud není použitá použije výchozí

Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde.

feedTypes/feedType

-

-

ignoredPricePolicies

Ignorované cenové politiky při vkládání produktu do košíku / načítání doprav pro produkt

List: String

-

[voucher, credit, productBundlePolicyStrategy]

imgDefault

Relativní URL, která je použita v metodě: WithPublishedURL#getAbsoluteUrlFromRelative(String) pokud FeedFeatureConfig#getImgVariant() nebyla u produktu nalezena

String

-

/img/eshop/placeholder/eshop-product-detail.jpg

imgGallery

Použitý kód galerie pro načtení hlavního obrázku pro feed

String

-

hlavni-motiv

imgVariant

Kód varianty pro načtení obrázku z galerie FeedFeatureConfig#getImgGallery() ()}

String

-

eshop-product-detail

productFeedPageSize

Velikost stránky produktů pro zpracování při generování snippetů.

Integer

-

250

snippetProductQuery

Metoda načte query pro produkty při zpracování snippetů

ProductQuery

-

-

storage

Storage, která je použita pro uložený vygenerovaných feedů

String

-

f.pub

templatePath

Konfigurační cesta ke složce, která obsahuje freemarker šablony pro zpracování feedu. Dostupné konvence pro zapsání cesty ke složce jsou bežně používané v používané v EdeeCMS com.fg.webapp.cps.v1.modules.spring.context.ModuleContext

Složka obsahuje šablony, které jsou projektově specifické. Pokud neobsahuje šablonu daného feedu dle specifikace feeds/feed/template, použije se výchozí šablona.

String

-

storage:f.cfg:/module-edeeshop/interface/template/

feeds/feed

Seznam konfigurovaných feedů pro všechny katalogy, nebo specifikovaný katalog

List: feeds/feed

-

-

profiles/profile

Seznam feed profilů zaregistrovaných pomocí konfigurace. Aplikace obsahuje již předpřipravené profily, které je možné přetížit či vytvořit nové.

Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde.

List: profiles/profile

-

-

catalogSpecific

Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.

-

-

feedTypes/feedType

Typy exportních feedů, pokud není použitá použije výchozí

Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

String

-

-

interval

String

-

-

feeds/feed

Seznam konfigurovaných feedů pro všechny katalogy, nebo specifikovaný katalog

VlastnostPopisHodnotaPovinnáVýchozí hodnota
region

Region feedu, ve kterém bude konkrétní feed zpracován. Region určuje například měnu.

String

-

czcsczk

code

Kód feedu

String

✔

-

type

Typ feedu. Možné hodnoty:

  • PRODUCTS
  • STOCK_INFO
  • RATINGS Pro každý typ jsou vytvořeny joby, které zpracovávají snippety a generují feedy. Ve výchozí konfiguraci feed pro produkty běhá 1x za den, přičemž feed pro sklady běhá každých 10 min

String

-

PRODUCTS

alternativeImgGallery

Použitý kód galerie pro načtení alternativních obrázků pro feed

String

-

-

alternativeImgVariant

Kód alternativní varianty pro načtení obrázku z galerie FeedConfiguration#getAlternativeImgGallery()

String

-

-

categoryPathSeparator

Separátor, který je použit při skládání řetězce kategorií

String

-

>

exportFileName

Název souboru pro uložení feedu do storage FeedFeatureConfig#getStorage()

String

✔

-

externalCategorySource

Klíč pro mapování EdeeShop kategorií na externí kategorie dle feedu Dostupné hodnoty:

  • heureka
  • heurekaSk
  • zbozi
  • glami
  • google

String

✔

-

imgDefault

Relativní URL, která je použita v metodě: WithPublishedURL#getAbsoluteUrlFromRelative(String) pokud FeedFeatureConfig#getImgVariant() nebyla u produktu nalezena

String

-

-

imgGallery

Použitý kód galerie pro načtení hlavního obrázku pro feed

String

-

-

imgVariant

Kód varianty pro načtení obrázku z galerie FeedConfiguration#getImgGallery()

String

-

-

multiplyPriceByPackage

Vlastnost, která určuje, zda má být cena vypočtena dle počtu kusů.

boolean

-

false

profile

Kód profilu, který bude použitý při generování snippetu

String

-

-

salePrice

Vlastnost, která určuje zda má být vypočtena dvojí cena pro produkt.

boolean

-

false

shouldSkipItem

Výraz (SPeL), který definuje, jestli má být produkt pro feed přeskočen. Pro přeskočení produktu existují dvě možné cesty

  • obalení .ftl šablony snippetu do podmínky (pokud výsledek .ftl je prázdný produkt je přeskočen)
  • definice SpeLu pro vyhodnocení podmínky

Dostupné parametry ve SPeLu jsou:

String

-

-

snippetTemplate

Šablona, která bude při zpracování snippetu použita

Existující šablony v aplikaci:

  • feed-product-facebook.ftl
  • feed-product-google.ftl
  • feed-product-glami.ftl
  • feed-product-heureka.ftl
  • feed-product-zbozi.ftl

String

✔

-

template

Šablona, která bude při zpracování feedu použita. Při zpracování feedu dochází k načtení již vytvořených snippetů z databáze.

Existujicí šablony v aplikaci:

  • feed-facebook.ftl
  • feed-google.ftl
  • feed-glami.ftl
  • feed-heureka.ftl
  • feed-zbozi.ftl

String

✔

-

profiles/profile

Seznam feed profilů zaregistrovaných pomocí konfigurace. Aplikace obsahuje již předpřipravené profily, které je možné přetížit či vytvořit nové.

Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Unikátní identifikátor profilu katalogu.

String

✔

-

converters/converter

Konvertery profilu

Zdroje hodnot:

List: converters/converter

✔

-

converters/converter

Konvertery profilu

Zdroje hodnot:

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

String

-

-

values

values

-

values