Specifická konfigurace pro konkrétní katalog
Konfigurace e-shop modulu se vždy vztahuje ke všem katalogům,
tedy je pro všechny katalogy stejná. Pokud je na projektu pouze jeden katalog, tak se toto nastavení vztahuje pouze k němu
a není nutné catalogSpecific konfiguraci řešit.
V případě, že je nadefinováno více katalogů a
je potřeba pro nějaký katalog jiné nastavení, tak je to možné zajistit pomocí konfiguračního elementu <catalogSpecific/>.
Příklady, kdy se hodí odlišné nastavení pro jednotlivé katalogy je například konfigurace doprav, formátu čísla objednávky, platebních bran apod.
Některé nastavení nelze mít odlišné pro jednotlivé katalogy a musí mít globální charakter. Tato informace je pak explicitně uvedena v dokumentaci daného nastavení.
Použití
Element <catalogSpecific/> lze použít vždy v rámci dané konfigurace, která tuto specifikaci umožňuje. Zda to daná
konfigurace umožňuje je uvedeno v dokumentaci dané konfigurace.
Element <catalogSpecific/> pak následně vyžaduje sub-element <catalogCode/>, který určuje kód katalogu, pro který je nastavení
určeno. Dále pak obsahuje specifické nastavení pro daný katalog. Pokud některé nastavení v rámci <catalogSpecific/> chybí, tak
se bere z globálního nastavení.
Jako příklad použijeme nastavení objednávek (element order) a její vlastnosti orderNumberExpression, kdy pro katalog cz_eshop potřebujeme
odlišné nastavení. Tedy pro cz_eshop bude číslo objednávky obsahovat prefix CZ a bude mít vlastní číselnou řadu než všechny
ostatní katalogy.
<order> <orderNumberExpression>dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)</orderNumberExpression> <catalogSpecific> <catalogCode>cz_eshop</catalogCode> <orderNumberExpression>'CZ' + dateFormat('yyyy') + '-' + numberSeq('CZ' + dateFormat('yyyy'),4)</orderNumberExpression> </catalogSpecific></order>Další příklad je konfigurace produktů.
<product> <!-- ... globální konfigurace produktů ... --> <catalogSpecific> <!-- Konfigurace specifická pro katalog s kódem `someCatalogCode` --> <catalogCode>someCatalogCode</catalogCode> <availabilityConfig> <defaultAvailabilityOfMaster/> <availabilities> <availability> <priorityForSet>0</priorityForSet> <code>DEPEND_ON_STOCK</code> <visibility>VISIBLE</visibility> <orderability>UP_TO_STOCK_QUANTITY</orderability> <priorityForMaster>0</priorityForMaster> <priority>1000</priority> <alwaysInStock/> </availability> </availabilities> <defaultAvailabilityOfSet/> <defaultAvailability/> </availabilityConfig> <tagConfig> <tags> <tagType> <categorySystemId>cat02</categorySystemId> <publish>true</publish> <filter>true</filter> </tagType> <tagType> <categorySystemId>cat03</categorySystemId> <publish>false</publish> <filter>false</filter> </tagType> </tags> </tagConfig> </catalogSpecific></product>