čtvrtek 1. března 2012

Inshop 4 - Jak na vlastní feed pro Google Merchant

Inshop4 je pro generování feedu mnohem příjemnější. Ačkoliv je nutné znát jazyk xsl, programátor jej určitě uvítá. Pro neznalé, tak uvedený příklad bude na konci článku ke stažení a je jen na každém jak se soubory naloží.

 Vytvoření definic xsl

na ftp obchodu, konkrétně ve složce inshop/searchengines/config/user přidáme dva nové soubory. Ve složce user se soubory při aktualizaci serveru zachovávají. O úroveň výše, tomu tak není.
První soubor, který vytvoříme je ses.xml. Tento soubor je již ve stromové úrovni výše vytvořen, stačí jej nakopírovat do složky user a přidat jen jeden řádek:
  • <item Name="GoogleMerchant" OutputFile="google-merchant.xml" ExportTemplate="..\export.xml" TransformTemplate="googleMerchant.xml"/>
výsledek tedy může vypadat takto:
  • <?xml version="1.0" encoding="windows-1250"?>
    <items>
    <item Name="GoogleMerchant" OutputFile="google-merchant.xml" ExportTemplate="..\export.xml" TransformTemplate="googleMerchant.xml"/>
    </items>
Oproti příkladu z Inshop 3 - Jak na vlastní feed zboží, se feedy generují 1x/den a to pouze v případě, je-li v katalogu zboží provedena změna. Jaké feedy (případně pro jaké mutace a měny) právě určuje soubor ses.xml.

Druhý soubor již konkrétně definuje generovaný xml soubor. Je psán již ve zmiňovaném xsl jazyce a programátor jej může libovolně ovlivňovat.
Do složky user přidáme xml s názvem googleMerchant.xml (názvy souborů odpovídají příkladu ke stažení). A do něj přidáme obsah:
  • <?xml version="1.0" encoding="utf-8" ?>

    <xsl:stylesheet version="1.0" xmlns:g="http://base.google.com/ns/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
    <xsl:template match="/">
    <rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
    <channel>
    <title><xsl:value-of select="//SHOP/ID"/></title>
    <link><xsl:text>http://</xsl:text><xsl:value-of select="//SHOP/ID" /></link>
    <description>popis obchodu</description>
    <xsl:apply-templates select="//SELECTEDPRODUCT" />
    </channel>
    </rss>
    </xsl:template>

    <xsl:template match="SELECTEDPRODUCT">
    <item>
    <title>
    <xsl:value-of select="NAME"/>
    </title>
    <description>
    <xsl:value-of select="DESCRIPTION_PLAINTEXT512"/>
    </description>
    <link>
    <xsl:value-of select="URL"/>
    </link>
    <g:id>
    <xsl:value-of select="IDPRODUCT"/>
    </g:id>
    <g:image_link>
    <xsl:value-of select="PICTUREFORSEARCHENGINES"/>
    </g:image_link>
    <g:price>
    <xsl:value-of select="ROUNDEDCUSTOMERPRICE"/> CZK
    </g:price>
    <g:condition>
    new
    </g:condition>
    <g:availability>
    in stock
    </g:availability>
    <g:brand>
    <xsl:value-of select="MANUFACTURERNAME"/>
    </g:brand>
    <g:google_product_category>
    <xsl:value-of select="translate(FULLCATEGORYTEXT, '|', '>')"/>
    </g:google_product_category>
    </item>
    </xsl:template>
    </xsl:stylesheet>
Soubor obsahuje standardní parametry pro úspěšnou registraci do Google Merchant. Parametry je možné libovolně přidat (musí je obsahovat definice export.xml - ta definuje jaké hodnoty z databáze načítat) nebo umazat. 

Generování feedu

Ne každý má možnost čekat do druhého dne a proto je možné výsledek kontrolovat ihned. Postup pro vygenerováni je následující:
  1. Označit zboží jako změněné a odeslat změny na server
  2. Jakmile je zboží na serveru odeslané, je možné ručně feedy  vygenerovat a to na adrese: http://muj-inshop.cz/inshop/webservices/Exchange.asmx/GenerateXmlForSearchEngines. Výsledek je opět ve formě xml a to konrétně v tagu result. např.<Result>true</Result>
  3. Vygenerovaný nový feed má cestu: http://muj-inshop.cz/inshop/robots/google-merchant.xml

Příklad ke stažení

Uvedený příklad je odzkoušen ale i tak se mohou najít malé mouchy. Problémy piště do diskuze. Budu se je snažit odstranit co nejdříve ale upozorňuji, že jsem pracující člověk s mnoha koníčky :)
A konečně příklad ke stažení: https://docs.google.com/open?id=0B72taWu9GqGDNDZDV3lybEpST1dvSE1TTnVlT2RzUQ

Historie úprav

1.3.2012 - první a původní verze
5.3.2012 - oprava ceny na cenu s DPH, původní verze obsahovala cenu bez DPH.

https://docs.google.com/open?id=0B72taWu9GqGDNDZDV3lybEpST1dvSE1TTnVlT2RzUQ

Žádné komentáře:

Okomentovat