Produkt

Produkt

Funkce produktů je jednou ze základních funkcí e-shopu, které se definuje v elementu <product>. Minimální konfigurace vyžaduje konfigurace dostupností.

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

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <availabilityConfig>3        <availabilities>4            <availability>5                <alwaysInStock/>6                <code>DEPEND_ON_STOCK</code>7                <orderability>UP_TO_STOCK_QUANTITY</orderability>8                <priority>1000</priority>9                <priorityForMaster>0</priorityForMaster>10                <priorityForSet>0</priorityForSet>11                <visibility>VISIBLE</visibility>12            </availability>13        </availabilities>14        <defaultAvailability/>15        <defaultAvailabilityOfMaster/>16        <defaultAvailabilityOfSet/>17    </availabilityConfig>18    <returnConfig>19        <defaultPeriod>14</defaultPeriod>20        <unit>DAY/MONTH/YEAR</unit>21    </returnConfig>22    <warrantyConfig>23        <defaultPeriod>24</defaultPeriod>24        <unit>DAY/MONTH/YEAR</unit>25    </warrantyConfig>26    <maxOrderAmount>999</maxOrderAmount>27    <contentBlockConfig>28        <blocks>29            <block/>30        </blocks>31    </contentBlockConfig>32    <fulltextConfig>33        <providers>34            <provider>35                <builder>36                    <dataList>37                        <data>38                            <dataName/>39                            <dataValue/>40                        </data>41                    </dataList>42                    <defaultBoost/>43                    <gallery/>44                    <indexedProperties>45                        <indexedProperty/>46                    </indexedProperties>47                    <promoKeywords>48                        <promoKeyword/>49                    </promoKeywords>50                    <searchByTitle/>51                    <variables>52                        <variable/>53                    </variables>54                    <variantId/>55                </builder>56                <query/>57                <type/>58                <visibleForStockOnly/>59            </provider>60        </providers>61        <sections>62            <section>63                <analyzer/>64                <fragment/>65                <providers>66                    <provider/>67                </providers>68                <regions>69                    <region>70                        <country>CZ</country>71                        <currency>CZK</currency>72                        <locale>cs</locale>73                    </region>74                </regions>75                <sitemapId/>76            </section>77        </sections>78    </fulltextConfig>79    <mediaConfig>80        <mediaList>81            <media/>82        </mediaList>83    </mediaConfig>84    <tagConfig>85        <tags>86            <tagType/>87        </tags>88    </tagConfig>89    <urlConfig>90        <rules>91            <rule/>92        </rules>93    </urlConfig>94    <catalogSpecific>95        <catalogCode/>96        <availabilityConfig>97            <availabilities>98                <availability>99                    <alwaysInStock/>100                    <code>DEPEND_ON_STOCK</code>101                    <orderability>UP_TO_STOCK_QUANTITY</orderability>102                    <priority>1000</priority>103                    <priorityForMaster>0</priorityForMaster>104                    <priorityForSet>0</priorityForSet>105                    <visibility>VISIBLE</visibility>106                </availability>107            </availabilities>108            <defaultAvailability/>109            <defaultAvailabilityOfMaster/>110            <defaultAvailabilityOfSet/>111        </availabilityConfig>112        <returnConfig>113            <defaultPeriod>14</defaultPeriod>114            <unit>DAY/MONTH/YEAR</unit>115        </returnConfig>116        <warrantyConfig>117            <defaultPeriod>24</defaultPeriod>118            <unit>DAY/MONTH/YEAR</unit>119        </warrantyConfig>120        <maxOrderAmount>999</maxOrderAmount>121        <fulltextConfig>122            <providers>123                <provider>124                    <builder>125                        <dataList>126                            <data>127                                <dataName/>128                                <dataValue/>129                            </data>130                        </dataList>131                        <defaultBoost/>132                        <gallery/>133                        <indexedProperties>134                            <indexedProperty/>135                        </indexedProperties>136                        <promoKeywords>137                            <promoKeyword/>138                        </promoKeywords>139                        <searchByTitle/>140                        <variables>141                            <variable/>142                        </variables>143                        <variantId/>144                    </builder>145                    <query/>146                    <type/>147                    <visibleForStockOnly/>148                </provider>149            </providers>150            <sections>151                <section>152                    <analyzer/>153                    <fragment/>154                    <providers>155                        <provider/>156                    </providers>157                    <regions>158                        <region>159                            <country>CZ</country>160                            <currency>CZK</currency>161                            <locale>cs</locale>162                        </region>163                    </regions>164                    <sitemapId/>165                </section>166            </sections>167        </fulltextConfig>168        <mediaConfig>169            <mediaList>170                <media/>171            </mediaList>172        </mediaConfig>173        <tagConfig>174            <tags>175                <tagType/>176            </tags>177        </tagConfig>178        <urlConfig>179            <rules>180                <rule/>181            </rules>182        </urlConfig>183    </catalogSpecific>184</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct

Konfigurace com.fg.cps.eshop.product.model.Product produktů a dalších funkcionality související s produkty.

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

VlastnostPopisHodnotaPovinnáVýchozí hodnota
availabilityConfig

Konfigurace dostupnosti produktů.

Dostupnost produktu určuje, zda je produkt možné objednat nebo zda má být viditelný v seznamech. Objednatelnost i viditelnost může být ovlivněno skladovým množstvím.

Konfigurace dostupnosti je povinná a nemá žádné výchozí nastavení. Konfigurace se provádí v rámci konfigurace produktu.

Dále je potřeba definovat lokalizované zprávy v properties souborech, které použijí pro lidsky čitelný popis dané dostupnosti v AR.

Formát klíče je availability.[availability.code]. Příklad:

properties
1 availability.ALWAYS_AVAILABLE=Skladem2availability.NOT_AVAILABLE=Nedostupné3availability.DEPEND_ON_STOCK=Dle stavu na skladě

availabilityConfig

-

returnConfig

Konfigurace periodu vracení zboží produktů.

returnConfig

-

ReturnConfig(defaultPeriod=null, unit=DAY)

warrantyConfig

Konfigurace záruční doby produktů.

warrantyConfig

-

WarrantyConfig(defaultPeriod=null, unit=MONTH)

maxOrderAmount

Výchozí hodnota pro maximální množství produktu, které lze vložit do košíku.

Tato hodnota se aplikuje v případě, že maxOrderValue není uvedeno přímo u produktu.

BigDecimal

-

999

contentBlockConfig/blocks/block

Seznam obsahových bloků.

Aby byly obsahové bloky pro tento typ entit povoleny, musí být definován alespoň jeden obsahový blok.

Pokud již existuje schéma v evitaDB, zapnutí této feature vyžaduje FULL reindexaci evitaDB.

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

blockConfig

-

-

fulltextConfig/providers/provider

Definice providerů, které poskytujcí data pro jednotlivé sekce (viz ).

List: fulltextConfig/providers/provider

-

-

fulltextConfig/sections/section

Seznam konfigurací fulltext sekcí. Na základě této konfigurace se následně vytváření sekce, které se registrují do fulltext modulu. Také se automaticky zaregistrují providery, poskytující data o publikovaných entitách pro potřeby fulltextu.

V případě, že je seznam prázdný, tak se entita nebude indexovat, tedy nebude vyhledatelná přes fulltext.

List: fulltextConfig/sections/section

-

-

mediaConfig/mediaList/media

Konfigurace médií pro daný typ entity.

Konfigurace se po inicializaci registruje do mediaGalleryFeature, odkud s ním nadále tato feature pracuje.

mediaConfig

-

-

tagConfig/tags/tagType

Konfigurace štítků.

Jedná se o seznam, který primárně obsahuje systémové id kategorie štítků. V rámci entity je pak možné pracovat se štítky, které jsou zařazeny do těchto kategorií (pozor nejedná se o kategorie produktů, ale kategorie štítků).

Konfigurace dále obsahuje informaci, zda se tyto štítky mají publikovat nebo zda se mají zobrazit ve filtru produktů na FE.

tagConfig

-

-

urlConfig/rules/rule

Pravidla pro generování URL pro entity e-shopu, které mají na FE svůj vlastní detail, tedy produkty, kategorie, značky, skupiny.

Pravidla se aplikují v pořadí, ve kterém jsou definována. Url se vygeneruje pro první pravidlo, pro které je splněna podmínka a zároveň se podaří vygenerovat url.

Pokud nejsem definována žádná pravidla, tak se použije výchozí pravidlo, které obsahuje tyto 3 vzory:

  • normalize(edeeShopEntity.name),
  • normalize(edeeShopEntity.catalogNumber),
  • edeeShopEntity.code.

Tedy nejprve se URL generuje z názvu. Pokud se to nepodaří, tak se url generuje z katalogového čísla. Poslední pokus je generování URL z kódu. Standardně se však url vygeneruje vždy z názvu.

urlConfig

-

-

catalogSpecific

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

-

-

Zkopírovat odkaz na sekciavailabilityConfig

Konfigurace dostupnosti produktů.

Dostupnost produktu určuje, zda je produkt možné objednat nebo zda má být viditelný v seznamech. Objednatelnost i viditelnost může být ovlivněno skladovým množstvím.

Konfigurace dostupnosti je povinná a nemá žádné výchozí nastavení. Konfigurace se provádí v rámci konfigurace produktu.

Dále je potřeba definovat lokalizované zprávy v properties souborech, které použijí pro lidsky čitelný popis dané dostupnosti v AR.

Formát klíče je availability.[availability.code]. Příklad:

properties
1 availability.ALWAYS_AVAILABLE=Skladem2availability.NOT_AVAILABLE=Nedostupné3availability.DEPEND_ON_STOCK=Dle stavu na skladě
VlastnostPopisHodnotaPovinnáVýchozí hodnota
availabilities/availability

Seznam konfigurací jednotlivých dostupností.

List: availabilities/availability

-

-

defaultAvailability

Kód defaultní dostupnosti, v případě že u produktu není dostupnost uvedena.

Povinná hodnota pro globální nastavení.

String

-

-

defaultAvailabilityOfMaster

Kód defaultní dostupnosti masteru, v případě že nemá žádnou dostupnou variantu.

Pokud není nastaveno, pro konkrétní katalog, použije se globální nastavení defaultAvailabilityOfMaster. Pokud není uvedeno, použije se nastavení defaultAvailability.

String

-

-

defaultAvailabilityOfSet

Kód defaultní dostupnosti setu, v případě že nemá žádnou dostupnou položku.

Pokud není nastaveno, pro konkrétní katalog, použije se globální nastavení defaultAvailabilityOfSet. Pokud není uvedeno, použije se nastavení defaultAvailability.

String

-

-

Zkopírovat odkaz na sekciavailabilities/availability

Seznam konfigurací jednotlivých dostupností.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
alwaysInStock

Pokud je hodnota true, tak se produkt tváří skladem i když reálně žádné skladové množství nemá.

Hodnota true má smysl pouze v případě, že hodnota orderability je ALWAYS. V ostatních případech je tato hodnota ignorována.

Hodí se například pro produkty typy dárkové poukazy.

boolean

-

false

code

Unikátní kód dostupnosti, který se ukládá k produktu. Povinná hodnota.

String

-

-

orderability

Hodnota určuje, zda lze produkt objednat.

  • ALWAYS - Objednávat lze vždy bez ohledu na skladové množství.
  • NEVER - Produkt nelze objednat.
  • UP_TO_STOCK_QUANTITY - Produkt lze objednat pouze do výše skladového množství.

-

-

priority

Priorita zobrazení dostupnosti v administraci.

int

-

0

priorityForMaster

Priorita pro výpočet dostupnosti master produktů na základě dostupnosti variant.

Pro master bude použita dostupnost varianty s nejvyšší prioritou.

int

-

0

priorityForSet

Priorita pro výpočet dostupnosti setů na základě dostupnosti položek setu.

Pro set bude použita dostupnost položek s nejvyšší prioritou.

int

-

0

visibility

Hodnota určuje, jaká viditelnost () se má použít pro tuto dostupnost. Pokud není uvedeno (hodnota je rovna null), tak dostupnost viditelnost produktu neovlivňuje. Jedná se o defaultní hodnotu.

Pozn.: Viditelnost ovlivní i další atributy viz .

  • VISIBLE - Produkt bude viditelný na FE.
  • INVISIBLE - Produkt nebude viditelný na FE.
  • INVISIBLE_WHEN_OUT_OF_STOCK - Produkt nebude viditelný, pokud není skladem na FE.

-

-

Zkopírovat odkaz na sekcireturnConfig

Konfigurace periodu vracení zboží produktů.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
defaultPeriod

Délka periody vracení zboží ve dnech

Pokud je uvedeno, tak se hodnota publikuje k produktům, která nemají definovanou vlastní periodu vracení zboží. Pokud uvedeno není (výchozí stav), tak se k produktům (které nemají definovanou vlastní periodu vracení zboží) perioda vracení zboží nepublikuje, tedy produktu nemají žádnou periodu vracení zboží.

Integer

-

-

unit

Jednotka, ve které je vracení zboží.

V případě změny této hodnoty je nutné upravit uložené hodnoty u produktů a přepublikovat záruční dobu všech produktů.

  • DAY - Dny.
  • MONTH - Měsíce.
  • YEAR - Roky.

-

DAY

Zkopírovat odkaz na sekciwarrantyConfig

Konfigurace záruční doby produktů.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
defaultPeriod

Délka záruční doby v jednotkách určených v hodnotou unit.

Pokud je uvedeno, tak se hodnota publikuje k produktům, která nemají definovanou vlastní záruční dobu. Pokud uvedeno není (výchozí stav), tak se k produktům (které nemají definovanou vlastní záruční dobu) záruční doba nepublikuje, tedy produktu nemají žádnou záruční dobu.

Integer

-

-

unit

Jednotka, ve které je záruční doba.

V případě změny této hodnoty je nutné upravit uložené hodnoty u produktů a přepublikovat záruční dobu všech produktů.

  • DAY - Dny.
  • MONTH - Měsíce.
  • YEAR - Roky.

-

MONTH

Zkopírovat odkaz na sekcifulltextConfig/providers/provider

Definice providerů, které poskytujcí data pro jednotlivé sekce (viz ).

VlastnostPopisHodnotaPovinnáVýchozí hodnota
builder

Konfigurace vytváření fulltext indexu

builder

-

query

Query ovlivňující načtení produktů, které má provider poskytnout k indexaci.

Pokud je null, pak se použije výchozí query, která vrací všechny produkty. Resp. všechny produkty, které jsou k dispozici v daném katalogu pro anonymního uživatele.

ProductQuery

-

-

type

Identifikace provideru pro fulltext module. Identifikátor musí být unikátní napříč všemi providery ve všech katalozích.

Dle této hodnoty se mapují providery definované v rámci sekcí v atributu providers (viz SectionConfig#getProviders()).

String

-

visibleForStockOnly

Pokud je true, pak se do indexu budou zahrnovat pouze produkty viditelné na skladech.

V případně, že je nutné zobrazovat jen produkty, které jsou viditelné na konkrétních skladech, je nutné využít filtraci pomocí query.visibleForStockCodes.

Pokud není uvedeno nebo je false, tak se do indexu zahrnují všechny produkty.

Boolean

-

-

Zkopírovat odkaz na sekcibuilder

Konfigurace vytváření fulltext indexu

VlastnostPopisHodnotaPovinnáVýchozí hodnota
dataList/data

Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu zapíší do data. Výraz je definován hodnot pro klíč Tyto data jsou uložena u výsledků fulltext pro následné použití (více viz dokumentace fulltext modulu).

Ve výrazu lze přistupovat přímo k publikované entitě.

Příklady výrazu:

  • 'productType' - textová hodnota pro klíč productType pod kterým bude hodnota uložena v datech.
  • subType.name -
  • catalogNumber -

Ve výchozím nastavení se do data ukládá id entity, pod klíčem id. Pro produkty pak dále typ produktu, kód master produktu a kód pod kterým se mají seskupovat varianty.

dataList/data

-

-

defaultBoost

Výchozí boost dokumentů.

Výpočet boost lze projektově ovlivnit pomocí vlastní implementace . Tuto implementaci následně stačí registrovat do aplikačního kontextu.

float

-

10000.0

gallery

Kód galerie, která se použije při získávání url obrázku, které se exportuje pro každý produkt v sitemap.

String

-

-

indexedProperties/indexedProperty

Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu indexují. Podle těch hodnot fulltext vyhledává entity.

Ve výrazu lze přistupovat přímo k publikované entitě.

Příklady výrazu:

  • name - zaindexuje název entity v aktuální jazyce (jazyce regionu, pro který se generuje index)
  • code
  • descriptionShort
  • catalogNumber
  • getLocalizedTextByCode("fulltextKeywords") - zaindexuje hodnotu z lokalizovaného textu s kódem fulltextKeywords

String

-

-

promoKeywords/promoKeyword

Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu indexují jako promoKeywords (více viz dokumentace fulltext modulu).

Ve výrazu lze přistupovat přímo k publikované entitě.

Příklady výrazu:

  • code
  • descriptionShort
  • getLocalizedTextByCode("fulltextKeywords") - zaindexuje hodnotu z lokalizovaného textu s kódem fulltextKeywords

Výchozí hodnota je "getLocalizedTextByCode("fulltextKeywords")".

String

-

[getLocalizedTextByCode("fulltextKeywords")]

searchByTitle

Fulltext ve výchozím nastavení vyhledává podle názvu dokumentů, v případě e-shopu např. podle názvu produktů. Toto chování je možné vypnout pomocí tohoto atributu, kdy pro vypnutí nastavte hodnotu na false.

Boolean

-

-

variables/variable

Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu zapíší do variables. Podle nich lze následně výsledky fulltextu filtrovat (více viz dokumentace fulltext modulu).

Ve výrazu lze přistupovat přímo k publikované entitě.

Příklady výrazu:

  • productType.name - do variables se zapíše typ produktu,
  • hasTag("checkTag") ? "checkTag" : null

String

-

-

variantId

kód varianty obrázku, která se použije při získávání url obrázku, které se exportuje pro každý produkt v sitemap

String

-

-

Zkopírovat odkaz na sekcidataList/data

Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu zapíší do data. Výraz je definován hodnot pro klíč Tyto data jsou uložena u výsledků fulltext pro následné použití (více viz dokumentace fulltext modulu).

Ve výrazu lze přistupovat přímo k publikované entitě.

Příklady výrazu:

  • 'productType' - textová hodnota pro klíč productType pod kterým bude hodnota uložena v datech.
  • subType.name -
  • catalogNumber -

Ve výchozím nastavení se do data ukládá id entity, pod klíčem id. Pro produkty pak dále typ produktu, kód master produktu a kód pod kterým se mají seskupovat varianty.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
dataName

Výraz (SpEL), který vrací název data, tedy klíč pod kterým bude hodnota z výrazu dataValue uložena v datech.

String

-

-

dataValue

Výraz (SpEL), který vrací hodnotu data, která se uloží pod klíčem dataName.

String

-

-

Zkopírovat odkaz na sekcifulltextConfig/sections/section

Seznam konfigurací fulltext sekcí. Na základě této konfigurace se následně vytváření sekce, které se registrují do fulltext modulu. Také se automaticky zaregistrují providery, poskytující data o publikovaných entitách pro potřeby fulltextu.

V případě, že je seznam prázdný, tak se entita nebude indexovat, tedy nebude vyhledatelná přes fulltext.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
analyzer

Analyzer fulltext modulu, pokud není uvedeno, tak se použije analyzer dle jazyku aktuálního regionu nebo katalogu.

Konkrétně:

  • pro en universal
  • pro de universal
  • pro sk universal
  • pro pl universal
  • pro všechny ostatní czech

String

-

-

fragment

Identifikátor sekce v rámci katalogu a regionu. Musí být unikátní. Povinná hodnota. Typickým příkladem hodnoty je: products,categories.

Pozn.: Název sekce (=identifikátor) se generuje podle klíče: catalog_region_fragment, kde catalog, region a fragment jsou nahrazeny odpovídajícími hodnotami.

String

-

-

providers/provider

Seznam poskytovatelů (přesněji jich FulltextResourceProvider#getType()) dat pro danou sekci. Poskytovatelé jsou vyhledávány v aplikaci a musí implementovat com.fg.fulltext.provider.FulltextResourceProvider.

Povinná položka.

String

-

-

regions/region

Seznam regionů, pro které se má sekce generovat. Pokud není uvedeno, generují se sekce pro všechny regiony v rámci daného katalogu.

regions/region

-

-

sitemapId

ID sitemap. Více zde: https://edee.dev/cs/git/fulltext/sections/sitemap-generating/microsites.md

String

-

-

Zkopírovat odkaz na sekciregions/region

Seznam regionů, pro které se má sekce generovat. Pokud není uvedeno, generují se sekce pro všechny regiony v rámci daného katalogu.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
country

Kód země (ISO 3166 - 2 znaky).

Povinná hodnota.

String

-

-

currency

Měna regionu ( ISO 4217 - 3 znaky).

Povinná hodnota.

currency

-

-

locale

Kód jazyka (ISO 639 - 2 znaky).

Povinná hodnota.

locale

-

-

Zkopírovat odkaz na sekciParametry produktů

Produkty rozšiřují parametry. Toto rozšíření je vždy zapnuté, tedy nevyžaduje žádnou konfiguraci. Případné výchozí chování je možné konfigurovat v elementu <parameterConfig/>.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <parameterConfig>3        <allowDuplicateBasicUnitValues/>4        <mediaConfig>5            <mediaList>6                <media/>7            </mediaList>8        </mediaConfig>9        <parameterItemConfig>10            <mediaConfig>11                <mediaList>12                    <media/>13                </mediaList>14            </mediaConfig>15        </parameterItemConfig>16    </parameterConfig>17</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct/parameterConfig

Konfigurace parametrů produktů.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
allowDuplicateBasicUnitValues

Umožňuje povolit duplicitní hodnoty pro porovnání u intervalových hodnot parametrů. Standardně tato situace není povolena.

boolean

-

false

mediaConfig/mediaList/media

Konfigurace médií pro daný typ entity.

Konfigurace se po inicializaci registruje do mediaGalleryFeature, odkud s ním nadále tato feature pracuje.

mediaConfig

-

-

Zkopírovat odkaz na sekciproduct/parameterConfig/parameterItemConfig

Konfigurace hodnot parametrů produktů.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
mediaConfig/mediaList/media

Konfigurace médií pro daný typ entity.

Konfigurace se po inicializaci registruje do mediaGalleryFeature, odkud s ním nadále tato feature pracuje.

mediaConfig

-

-

Parametry lze projektově rozšiřit o další vlastnosti. Jak toho docílit je popsané zde.

Zkopírovat odkaz na sekciVztahy mezi produkty

Mezi produkty lze definovat vztahy. Typickým příkladem jsou související produkty (např. mobilní telefon a pouzdro).

E-shop tedy umožňuje konfigurovat více typů těchto vztahů (související, alternativní apod.) podle potřeb daného projektu.

Konfigurace vztahů probíhá v rámci elementu <productRelationsConfig/>.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <productRelationsConfig>3        <relations>4            <relation>5                <code>relatedProduct</code>6                <maxItems>100</maxItems>7            </relation>8        </relations>9    </productRelationsConfig>10</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct/productRelationsConfig

Konfigurace vazeb mezi produkty. Typickým příkladem jsou související nebo alternativní produkty.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
relations/relation

Typy vazeb mezi produkty.

U produktů je možné definovat mezi produkty vazby. Typickým příkladem jsou související nebo alternativní produkty.

V AR se názvy vazeb lokalizují pomocí properties, kde poslední fragment klíče relatedEntityListingMWC.relatedEntityTagSelect.title.code, kde code je kód vazby. Příklad:

properties
1 relatedEntityListingMWC.relatedEntityTagSelect.title.relatedProduct=Související produkty2relatedEntityListingMWC.relatedEntityTagSelect.title.alternativeProduct=Podobné produkty

List: relations/relation

-

-

Zkopírovat odkaz na sekcirelations/relation

Typy vazeb mezi produkty.

U produktů je možné definovat mezi produkty vazby. Typickým příkladem jsou související nebo alternativní produkty.

V AR se názvy vazeb lokalizují pomocí properties, kde poslední fragment klíče relatedEntityListingMWC.relatedEntityTagSelect.title.code, kde code je kód vazby. Příklad:

properties
1 relatedEntityListingMWC.relatedEntityTagSelect.title.relatedProduct=Související produkty2relatedEntityListingMWC.relatedEntityTagSelect.title.alternativeProduct=Podobné produkty
VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Jedinečný identifikátor vazby.

Identifikátor se používá pro lokalizaci, identifikaci na FE apod.

String

-

-

maxItems

Maximální počet vazeb na produkty.

Integer

-

100

Zkopírovat odkaz na sekciAliasy

Aliasy je nepovinné rozšíření produktů, který se zapne elementem <productAlias/>.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <aliasConfig>3        <catalogCodeOfOrigin/>4        <catalogSpecific>5            <catalogCode/>6            <catalogCodeOfOrigin/>7        </catalogSpecific>8    </aliasConfig>9</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct/aliasConfig

Konfigurace alias produktů.

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

VlastnostPopisHodnotaPovinnáVýchozí hodnota
catalogCodeOfOrigin

Kód katalogu, ze kterého je možné vybírat předlohy pro aliasy.

Např.: Pokud chci v katalogu "A" vytvořit alias produktu X z katalogu B, Musí konfigurace pro katalog "A" obsahovat hodnotu B. Tedy například:

xml
1 <aliasConfig>2    <catalogSpecific>3    		<catalogCode>A</catalogCode>4    		 	<catalogCodeOfOrigin>B</catalogCode>5    </catalogSpecific>6</aliasConfig>

Pokud je potřeba vytvářet aliasy v rámci stejného katalogu, tak konfigurace bude obsahovat referenci na stejný katalog. Tedy například:

xml
1 <aliasConfig>2    <catalogSpecific>3    		<catalogCode>A</catalogCode>4    		 	<catalogCodeOfOrigin>A</catalogCodeOfOrigin>5    </catalogSpecific>6</aliasConfig>

String

-

-

catalogSpecific

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

-

-

Zkopírovat odkaz na sekciVarianty

Varianty je rozšíření produktů, které je vždy zapnuté, tedy nevyžaduje žádnou konfiguraci. Případné výchozí chování je možné konfigurovat v elementu <variantConfig/>.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <variantConfig>3        <masterParameterPublicationMethod/>4    </variantConfig>5</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct/variantConfig

Konfigurace variant produktů.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
masterParameterPublicationMethod

Způsob, jakým se publikují parametry k master-produktu.

Default hodnota je MasterParameterPublicationMethod.ONLY_VARIANT_PARAMETERS.

  • ONLY_VARIANT_PARAMETERS - K master-produktu se vypublikují parametry, které jsou definovány přímo na masteru a také všechny variantní parametry.
  • ALL_VARIANT_PARAMETERS - K master-produktu se vypublikují parametry, které jsou definováný přímo na masteru a také všechny parametry variant (variantní i nevariantní).

V případě, že existuje nějaké parametr na masteru i na variantně, tak se vezme upřednostní ten, který je na masteru.

-

ONLY_VARIANT_PARAMETERS

Zkopírovat odkaz na sekciSety

Sety je rozšíření produktů, které je vždy zapnuté, tedy nevyžaduje žádnou konfiguraci.

Zkopírovat odkaz na sekciSklady

Sklady se definují v elementu <stockConfig/>.

Skladové množství a strategii vytváření rezervací je možné projektově ovlivnit, více zde.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <stockConfig>3        <stocks>4            <stock>5                <code>stockCode</code>6                <name>Stock name</name>7                <priority>1000</priority>8            </stock>9        </stocks>10        <userStockCacheValidityInMinutes>30</userStockCacheValidityInMinutes>11        <catalogSpecific>12            <catalogCode/>13            <stocks>14                <stock>15                    <code>stockCode</code>16                    <name>Stock name</name>17                    <priority>1000</priority>18                </stock>19            </stocks>20            <userStockCacheValidityInMinutes>30</userStockCacheValidityInMinutes>21        </catalogSpecific>22    </stockConfig>23</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct/stockConfig

Konfigurace skladů a skladové evidence produktů.

Pokud není uvedeno, aplikuje se default nastavení, viz popis jednotlivých atributů.

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

VlastnostPopisHodnotaPovinnáVýchozí hodnota
stocks/stock

Konfigurace skladů.

Na základě této konfigurace se automaticky založí sklady.

Pokud není uvedeno, je automaticky vytvořen pro každý katalog jeden sklad, kde kód skladu odpovídá kódu katalogu. Takový sklad je možné v AR vymazat. Takový sklad se pak automaticky nevytváří ani neobnovuje.

List: stocks/stock

-

-

userStockCacheValidityInMinutes

Specifikuje čas, po který jsou maximálně uchovány data o skladech na FE. Po uplynutí tohoto času jsou data označena za zastaralé a dojde k opětovnému dotazu na REST API.

Tato doba by měla být uzpůsobena danému prostředí, pro dynamický projekt s častými změnami podmínek využití skladu lze interval zmenšit.

int

-

30

catalogSpecific

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

-

-

Zkopírovat odkaz na sekcistocks/stock

Konfigurace skladů.

Na základě této konfigurace se automaticky založí sklady.

Pokud není uvedeno, je automaticky vytvořen pro každý katalog jeden sklad, kde kód skladu odpovídá kódu katalogu. Takový sklad je možné v AR vymazat. Takový sklad se pak automaticky nevytváří ani neobnovuje.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Kód skladu.

Kód musí být unikátní v rámci katalogu.

String

-

-

name

Název skladu v jazyce katalogu.

Název lze následně lokalizovat v AR.

Pokud není uvedeno, použije se kód.

String

-

-

priority

Priorita skladu, v jakém bude zboží rezervováno na jednotlivých skladech.

Čím vyšší priorita, tím dříve bude na tomto skladu zboží rezervováno.

Pozn.: V případě, že nevyhovuje tento princip rezervace dle priority, tak je toto chování možné ovlivnit pomocí vlastní implementací , případně vlastní implementací celé strategie rezervace zboží . Tato hodnota potom nemusí být brána v potaz.

Long

-

-

Zkopírovat odkaz na sekciTracking

U produktů lze zapnout tracking, který následně zpřístupňuje tyto funkce:

Tyto funkce se zapínají v rámci elementu <trackingConfig>.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <product>2    <trackingConfig>3        <currentlyViewingConfig>4            <resultPeriod>10</resultPeriod>5            <virtualArithmetic>6                <maxWatcherCount>4</maxWatcherCount>7                <minWatcherCount>1</minWatcherCount>8            </virtualArithmetic>9        </currentlyViewingConfig>10        <dataArchiveDays>29</dataArchiveDays>11        <queueLimit>100000</queueLimit>12        <recentlyVisitedConfig/>13    </trackingConfig>14</product>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekciproduct/trackingConfig

VlastnostPopisHodnotaPovinnáVýchozí hodnota
currentlyViewingConfig

Zapnutí a konfigurace funkce "Uživatelé prohlížející si produkt".

currentlyViewingConfig

-

-

dataArchiveDays

Počet dnů, po kterých nechat uložená data o zobrazení.

Výchozí hodnota je 29.

int

-

29

queueLimit

Limit velikosti fronty, která zachycuje záznamy o navštívených produktech v paměti. Fronta by se měla díky asynchronní úloze pravidelně vyprazdňovat a odkládat do databáze, ale pokud by úloha nestíhala data zpracovávat, je vhodné kvůli stabilitě aplikace (a obsazené paměti) limitovat velikost fronty. Pokud je dosaženo limitu, začnou se zahazovat nejstarší údaje.

Výchozí hodnota je 100 tisíc záznamů.

int

-

100000

recentlyVisitedConfig

Zapnutí zobrazení funkce "Naposledy zobrazené produkty".

recentlyVisitedConfig

-

-

Zkopírovat odkaz na sekcicurrentlyViewingConfig

Zapnutí a konfigurace funkce "Uživatelé prohlížející si produkt".

VlastnostPopisHodnotaPovinnáVýchozí hodnota
resultPeriod

Počet minut pro získání výsledků pro "Uživatelé prohlížející si produkt".

Výchozí hodnota je 10.

int

-

10

virtualArithmetic

Zapnutí virtuálního počtu "Uživatelé prohlížející si produkt".

virtualArithmetic

-

-

Zkopírovat odkaz na sekcivirtualArithmetic

Zapnutí virtuálního počtu "Uživatelé prohlížející si produkt".

VlastnostPopisHodnotaPovinnáVýchozí hodnota
maxWatcherCount

Maximální očekávaný počet návštěvníků produktu.

Výchozí hodnota je 4.

int

-

4

minWatcherCount

Minimální očekávaný počet návštěvníků produktu.

Výchozí hodnota je 1.

int

-

1

Zkopírovat odkaz na sekcirecentlyVisitedConfig

Zapnutí zobrazení funkce "Naposledy zobrazené produkty".

Zkopírovat odkaz na sekciMedia

K produktům lze definovat média, typicky se jedná například o hlavní motiv, galerie obrázků a PDF dokumenty apod. Konfigurace medií je popsána zde.

Zkopírovat odkaz na sekciURL

U produktů lze definovat pravidla, podle kterých se generuje frontedové URL, na kterém se bude nacházet detail produktu. Konfigurace url je popsána zde.

Zkopírovat odkaz na sekciŠtítky

K entitám lze přiřazovat štítky a aby to bylo možné, je nutné v konfiguraci povolit, které štítky lze takto přiřadit.
Konfigurace štítků je popsána zde.

Zkopírovat odkaz na sekciRozšířený datový model

Produkty lze projektově rozšířit o další vlastnosti. Jak toho docílit je popsané zde.