EdeeShop · Implementace

Specifická konfigurace pro konkrétní katalog

Upraveno

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.

xml
<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ů.

xml
<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>