sobota 25. února 2012

Inshop 3 - Jak na vlastní feed zboží

Stále se najde pár obchodů na platformě Inshop 3. Je to již zastaralá verze, oproti Inshop 4 jsou některé funkce ale stále nepřekonány. Odhaduji, že na Inshop3 stále funguje nejméně 200 tuzemských obchodů. Což není na českou platformu špatné ale teď k věci. Inshop 3 v základu generuje několik standardních xml pro různé porovnávače.  Pokud nemáte standalone server a nechcete platit "velké peníze" za vytvoření feedu, přikládám možnost jak si sám upravit feed.

1. Úprava konfiguračního souboru

Feed je dobré mít statický, není dobré aby byl při každé návštěvě robota generován "pod rukama". Proto zajistíme, že výpis z databáze se uloží do souboru. Feedy sami o sobě jsou již obsáhlé a mohou mít i několik MB. Některé porovnávače berou feedy i v komprimované podobě ale o tom snad jindy. Díky tomu, že soubor nebude generován bude robot porovnávače také spokojen, načte se mu ihned a nemusí čekat na jeho generování (porovnávače při dlouhém načítání ukončí proces).
A teď k samému nastavení. Otevřeme si soubor v www.nase-domena.cz/inshop/texts/GenerateFiles.txt. A kamkoliv na nový řádek vložíme
  • 1=zbozi.html;/zbozi.xml
Kdy číslice na začátku řádku označuje pořadové číslo feedu. První soubor s listem produktů a za lomítkem pak název generovaného souboru. Tedy v překladu, načti soubor sitemap.html a ulož je do rootu prodejny jako sitemap.xml

2. Vytvoření listu produktů

aby bylo možné co ukládat, je nutné to nejprve kde vzít. K tomu slouží tzv. listy. Inshop 3 má jedinečný tagovací způsob zápisu. Uvedu v příkladu.
  • <shop.list_items items="store_items" Level=2 Range=1 Unique=true MaxCount=10000><shop.item_name/></shop.list_items>
Tento list nám vypíše názvy výrobků (shop.item_name se zamění za název výrobku). Tento list bere v potaz jakákoliv omezení co jsou na zboží nastavena (příznaky Skrýt apod.) a není nutné vytvářet složité SQL příkazy. A k vygenerování xml staží již jen doplnit do listu požadované parametry:
  • <?xml version="1.0" encoding="UTF-8"?>
    <SHOP>
    <shop.list_items items="store_items" Level=2 Range=1 Unique=true MaxCount=10000>
    <SHOPITEM>
    <PRODUCT><shop.Item_Name /></PRODUCT>
    <PRICE_VAT><shop.item_endpricewithtax /></PRICE_VAT>
    </SHOPITEM>
    </shop.list_items>
    </SHOP>
Takto upravený soubor uložíme do složky inshop/pages/ pod název zbozi.xml. Feed v příkladu obsahuje jen název produktu a cenu s DPH. Jaké další parametry lze přidat, nechám již na Vás. Porovnávače většinou mají rozdílné způsoby zápisu.

3. Generování

Při odeslání dat na server se automaticky soubor generuje pod názvem z GenerateFiles.txt  (lze generovat i ručně pro případ testování). Není nutné tedy nastavovat cyklické generování. Pokud je tedy odeslána změna v katalogu, soubor se generuje. Feed může být aktuální několikrát za den. O tom, že roboti porovnávačů tyto soubory načítají jednou za pár dní, to už je jiná. Z naší strany je provedeno vše a zůstává nám jen přání aby námi připravený feed byl bezchybný a přivedl další nakupujicí.


1 komentář:

  1. Viete mi prosim poradit, ako rucne pregenerovat dany xml feed? Teda bez toho aby som musel odoslat zmeny katalogu na server. Vopred mockrat dakujem. P.J.

    OdpovědětVymazat