Specifická konfigurace pro konkrétní katalog

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 ja pak explicitně uvedena v dokumentaci daného nastavení.

Zkopírovat odkaz na sekciPouž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 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
1 <order>2    <orderNumberExpression>dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)</orderNumberExpression>3    <catalogSpecific>4        <catalogCode>cz_eshop</catalogCode>5        <orderNumberExpression>'CZ' + dateFormat('yyyy') + '-' + numberSeq('CZ' + dateFormat('yyyy'),4)</orderNumberExpression>6    </catalogSpecific>7</order>

Další příklad je konfiguraci produktů.

xml
1 <product>2    <!-- 3    ...  globální konfigurace produktů ... 4    --> 5    <catalogSpecific>6        <!-- Konfigurace specifická pro katalog s kódem `someCatalogCode` -->7        <catalogCode>someCatalogCode</catalogCode>8        <availabilityConfig>9            <defaultAvailabilityOfMaster/>10            <availabilities>11                <availability>12                    <priorityForSet>0</priorityForSet>13                    <code>DEPEND_ON_STOCK</code>14                    <visibility>VISIBLE</visibility>15                    <orderability>UP_TO_STOCK_QUANTITY</orderability>16                    <priorityForMaster>0</priorityForMaster>17                    <priority>1000</priority>18                    <alwaysInStock/>19                </availability>20            </availabilities>21            <defaultAvailabilityOfSet/>22            <defaultAvailability/>23        </availabilityConfig>24        <tagConfig>25            <tags>26                <tagType>27                    <categorySystemId>cat02</categorySystemId>28                    <publish>true</publish>29                    <filter>true</filter>30                </tagType>31                <tagType>32                    <categorySystemId>cat03</categorySystemId>33                    <publish>false</publish>34                    <filter>false</filter>35                </tagType>36            </tags>37        </tagConfig>38    </catalogSpecific>39</product>