Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Page 1 of 5
XML feed zboží
 
Martin
Guru
 
Avatar
Total Posts:  445
Joined:  2007-08-31
Brno | London | Los Angeles
 

Mám skoro hotovej modul pro XML feed zboží do katalogů Seznam, Jyxo, atd, ale řeším následující problém:

Seznam a Jyxo chtějí následující strukturu XML feedu:

<?xml version="1.0" encoding="UTF-8"?>
<SHOP>
    <
SHOPITEM>
        <
PRODUCT>Název produktu</PRODUCT>
        <
DESCRIPTION>Popis produktu</DESCRIPTION>
        <
URL>http://www.domena.cz/produkt</URL>
        
<IMGURL>http://domena.cz/obrazky/produkt.jpg</IMGURL>
        
<PRICE>100</PRICE>
        <
PRICE_VAT>119</PRICE_VAT>
        <
VAT>19</VAT>
    </
SHOPITEM>
</
SHOP>

U Centra vypadá povinná struktura XML feedu takto:

<?xml version="1.0" encoding="UTF-8"?>
<SHOP>
    <
SHOPITEM>
        <
MANUFACTURER>Výrobce produktu</MANUFACTURER>
        <
PRODUCT>Název produktu</PRODUCT>
        <
DESCRIPTION>Popis produktu</DESCRIPTION>
        <
URL>http://www.domena.cz/produkt</URL>
        
<PRICE>100</PRICE>
        <
PRICE_VAT>119</PRICE_VAT>
        <
VAT>19</VAT>
        <
CATEGORYTEXT>Kategorie produktu</CATEGORYTEXT>
        <
CATEGORYCENTRUM>000</CATEGORYCENTRUM>
        <
IMGURL>http://domena.cz/obrazky/produkt.jpg</IMGURL>
    
</SHOPITEM>
</
SHOP>

Nevíte náhodou někdo, jestli Katalogům zboží z první skupiny (Seznam, Jyxo, ...) nebudou vadit v XML feedu značky MANUFACTURER, CATEGORYTEXT a CATEGORYCENTRUM? Bylo by fajn, kdyby to Seznam, Jyxo & spol. vzali v té rozšířené variantě, alespoň bych se nemusel dělat s rozhraním pro generování 2 - 3 různých feedů ...

Tady je testovací XML feed ve verzi pro Seznam i Centrum: http://www.d-c-m.cz/zbozi.xml

Až to bude hotový, tak to zpřístupním prostřednictvím Magento Connect ...

 
Magento Community Magento Community
Magento Community
Magento Community
 
Martin
Guru
 
Avatar
Total Posts:  445
Joined:  2007-08-31
Brno | London | Los Angeles
 

Tak z podpory Jyxa mi napsali, že značky MANUFACTURER, CATEGORYTEXT a CATEGORYCENTRUM ignorují a můžou být ve feedu, teď ještě Seznam a je to v suchu wink

 
Magento Community Magento Community
Magento Community
Magento Community
 
Martin
Guru
 
Avatar
Total Posts:  445
Joined:  2007-08-31
Brno | London | Los Angeles
 

Zdarec,

no nemohl jsem se ozvat, protože nebylo komu, nikde na netu nevisí nástÄ›nka “Moduly na kterých pracujeme” wink

Koukl jsem se na to a vypadá to pěkně, jen to chce doladit pár detailů - například:

- nikde tam není možnost nastavení cesty k XML feedu, ani není poznat, kam se ten feed ukládá, případně na jaké URL se generuje on-the-fly, takže se mu nemůžu mrknou na zoubek a především tak chybí zásadní informace = co zadat při registraci do katalogu

- rozvržení administrace Exportu bych trošku zpřehlednil:
1. do “Informací o profilu” bych pÅ™esunul “Jméno souboru”
2. a naopak z “Informací o profilu” bych vyhodil nastavení Cronu, který bych dal do separátního chlívku, pokud možno do nastavení exportů v systémové administraci

- počítáš s tím, že je v obchodu víc kategorií, které se nedají strčit do jedné Centrum kategorie? To je případ většiny větších e-shopů, ty menší asi po Magentu nesáhnou pro jeho relativní složitost a systémovou náročnost.

- k obsahu generovaných XML feedů se vyjádřit nemůžu, protože jsem je neviděl wink

- no a nakonec: je tam taková chybka - modul si zatím nepamatuje, jaký nastavení jsem zvolil při vytvoření feedu = Centrum category se nastaví zpět na výchozí, i když byla zvolena jiná kategorie, a kategorie pro export si taky nepamatují, která z nich byla zvolena. Navíc uložené feedy ukazují při editaci 4× pod sebou pole s kategoriemi ...

Tož tak, ale jinak je to slušná práce, až to budete mít odladěný, tak to bude dobře udělanej modul.

############################

Jinak informace z podpory Seznamu i Jyxa jsou stejné - Seznam i Jyxo ignoruje značky, které tyto katalogy nepodporují, tzn. formát XML feedu pro Seznam i Centrum může být stejný = pokud chcete exportovat veškeré zboží z obchodu, stačí na to jen jeden feed.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Jenda
Jr. Member
 
Total Posts:  28
Joined:  2008-06-26
 

Není náhodou někdy problém s kódováním? Myslíte, že všude může být UTF-8? Já jsem na nějakém vyhledávači zboží dal feed s jiným kódováním a ukazovali se tam špatný znaky.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Martin
Guru
 
Avatar
Total Posts:  445
Joined:  2007-08-31
Brno | London | Los Angeles
 

Exportovat 3 feedy v kódováních UTF-8, iso8859-2 a cp1250 není problém, ale jak tak teď procházím specifikace DTD XML feedů, tak většinou mají katalogy napsáno přibližně tohle:

“Kódování doporučujeme iso-8859-2, utf-8 nebo případnÄ› windows-1250.”

Takže by problémy s kódováním být neměly ...

Jinak Tvůj problém s kódováním mohl být například způsoben tím, že XML feed mÄ›l v hlavičce specifikaci kódování “iso8859-2”, zatímco zboží se z shopu do nÄ›j sypalo v kódování cp1250 ...

 
Magento Community Magento Community
Magento Community
Magento Community
 
TomasHol
Jr. Member
 
Total Posts:  2
Joined:  2008-09-14
 

Ahoj, taky jsem si začal s tímto hrát… mno nic kdo se nepodívá,… dobÅ™e mi tak grin

Když už se tu rodí návrhy na funkčnost...koukl jsem se na vaše demo.
Bude možno si mÄ›nit struktůru ? “XML vzhled” (pokud se objeví nÄ›jaký nový odkazovač nebo stávající zmÄ›ní XML feed) V demu položka Search engine: Nebo kdyby to nÄ›kdo chtÄ›l nasypat do nÄ›jakého účto programu.
Nu a pak to určení kategorie pro jednotlivé složky obchodu. Můžu si vybrat x položek které patří pod danou kategorii, ale to bych pak musel vytvořit X souborů a nevím jestli se Centrum bude obtěžovat stahovat X souborů, leda v ZIPu ale nevím jestli i tak nehledá jen jeden soubor.
KaždopádnÄ› držím palec a netrpÄ›livÄ› očekávám tu “plnou verzi” !

 
Magento Community Magento Community
Magento Community
Magento Community
 
Habfo
Jr. Member
 
Total Posts:  14
Joined:  2008-05-21
 

Kdyby někdo měl zájem tak jednoduchý xml feed pro zbozi.cz přes API vypadá asi takto:

header("Content-type: text/xml");
    
$proxy = new SoapClient('http://magentoshop.cz/api/soap/?wsdl');
    
$sessionId $proxy->login('ApiUser''ApiKey');
   
    
$products $proxy->call($sessionId'product.list'); 
     
    echo 
'<?xml version="1.0" encoding="UTF-8"?>'."\n";
    echo 
"<SHOP>\n";

    while (list(
$key$val) = each($products)) 
    
{
        
        $produkt 
$proxy->call($sessionId'product.info'$val[sku]);
        if(
$produkt[visibility] == 4{
            $image 
$proxy->call($sessionId'product_media.list'$val[sku]);
            echo 
" <SHOPITEM>\n";
            echo 
"  <PRODUCT>$produkt[name]</PRODUCT>\n";
            echo 
"  <DESCRIPTION>$produkt[short_description]</DESCRIPTION>\n";
            echo 
"  <URL>http://magentoshop.cz/$produkt[url_path]</URL>\n";
            echo 
"  <IMGURL>".$image[0]["url"]."</IMGURL>\n";
            echo 
"  <ITEM_TYPE>new</ITEM_TYPE>\n";
            echo 
"  <PRICE_VAT>$produkt[price]</PRICE_VAT>\n";
            echo 
" </SHOPITEM>\n";    
        
}
    }

    
echo "</SHOP>\n";
 
Magento Community Magento Community
Magento Community
Magento Community
 
iguru
Moderator
 
Avatar
Total Posts:  331
Joined:  2007-11-01
Děčín, Czech Republic
 

No vida, chválím, konečně dal také někdo něco komunitě a nehrabe si na vlastním písečku.
Díky!

 
Magento Community Magento Community
Magento Community
Magento Community
 
spikeycz
Jr. Member
 
Total Posts:  12
Joined:  2008-07-10
 

Pro lamy… jak muzu naimplementovat ten script na export zbozi do zbozi?:) Nejsem programator, dokazu celkem cist PHP a obcas neco upravit, ale tohle jsem nedal…

diky!

 
Magento Community Magento Community
Magento Community
Magento Community
 
petrMetr
Member
 
Total Posts:  51
Joined:  2009-02-19
 

čao,

také chci přispět komunitě a nežidit na vlastním písečku wink
XML feed pro zbozi bez pouziti API - s API mi to prislo dost pomale

verze: 1.1
bere v potaz specialni ceny
cela adresa k produktu ( vcetne kategorií )

tak snad se to bude hodit, kdyz uz jsem se s tim nekolik hodin delal

Petr

File Attachments
xml_zbozi.php  (File Size: 3KB - Downloads: 784)
 
Magento Community Magento Community
Magento Community
Magento Community
 
lwslws
Jr. Member
 
Total Posts:  1
Joined:  2009-01-19
 

Je tohle fórum pro podporu magenta nebo pro byznys?  Můžete nÄ›kdo dát info k tomu použití xml importu? U poslední verze magenta nefunguje a na API není každý odborník.
Předem díky.

 
Magento Community Magento Community
Magento Community
Magento Community
 
siblik
Jr. Member
 
Total Posts:  1
Joined:  2008-05-08
 

Ahojte, prozkoumal už někdo, proč feed od PetraMetra grin nefunguje ve verzi 1.3.2? Díky moc za reakci. Roman

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dureks
Jr. Member
 
Total Posts:  1
Joined:  2009-07-29
 

Kdyby měl někdo zájem mohu nabídnout můj jednoduchý script pro export zboží podle specifikací serverů zboží.cz a heureka.cz. Cena 400Kč včetně pomoci s nastavením. testováno na verzi 1.3.2 více na mailu josef @ nalezny cz

 
Magento Community Magento Community
Magento Community
Magento Community
 
Open Mage
Member
 
Avatar
Total Posts:  35
Joined:  2009-09-21
Czech Republic
 
Habfo - 31 March 2009 07:08 AM

Kdyby někdo měl zájem tak jednoduchý xml feed pro zbozi.cz přes API vypadá asi takto:

header("Content-type: text/xml");
    
$proxy = new SoapClient('http://magentoshop.cz/api/soap/?wsdl');
    
$sessionId $proxy->login('ApiUser''ApiKey');
   
    
$products $proxy->call($sessionId'product.list'); 
     
    echo 
'<?xml version="1.0" encoding="UTF-8"?>'."\n";
    echo 
"<SHOP>\n";

    while (list(
$key$val) = each($products)) 
    
{
        
        $produkt 
$proxy->call($sessionId'product.info'$val[sku]);
        if(
$produkt[visibility] == 4{
            $image 
$proxy->call($sessionId'product_media.list'$val[sku]);
            echo 
" <SHOPITEM>\n";
            echo 
"  <PRODUCT>$produkt[name]</PRODUCT>\n";
            echo 
"  <DESCRIPTION>$produkt[short_description]</DESCRIPTION>\n";
            echo 
"  <URL>http://magentoshop.cz/$produkt[url_path]</URL>\n";
            echo 
"  <IMGURL>".$image[0]["url"]."</IMGURL>\n";
            echo 
"  <ITEM_TYPE>new</ITEM_TYPE>\n";
            echo 
"  <PRICE_VAT>$produkt[price]</PRICE_VAT>\n";
            echo 
" </SHOPITEM>\n";    
        
}
    }

    
echo "</SHOP>\n";

Ahoj,
zkouÅ¡el jsem tenhle skript s tím, že jsem nahradil veÅ¡keré ECHO za FWRITE pro zápis feedu do souboru XML. VÅ¡e funguje, jen se mi nedaří uzavřít XML soubor posledním ukončením koÅ™enového elementu </SHOP>. PÅ™ed cyklem mam fopen s handlerem a výpisem hlavičky XML, za cyklem už jen zápis </SHOP> a fclose. Zjistil jsem, že problém způsobuje volání API na data k obrázku (product_media.list). Pokud jej ve skriptu mám a vypisuji URL obrázku, tak skript skončí, nenahlásí chybu, veÅ¡kerá jednotlivá data o produktu i obrázku tam jsou, ale neukončí se XML pomocí závÄ›rečného ukončovacího tagu </SHOP> - prostÄ› se už nedostane ven z cyklu. Pokud odebere volání API pro obrázek v tÄ›le cyklu, pak se vypíše vÅ¡e ostatní do souboru také správnÄ› a funguje i zbytek kódu za cyklem. Setkal se s přípravou “offline” XML souboru nÄ›kdo?

Stejný kód se zápisem do souboru by vypadal asi takto:

$proxy = new SoapClient('http://magentoshop.cz/api/soap/?wsdl');
    
$sessionId $proxy->login('ApiUser''ApiKey');
   
    
$products $proxy->call($sessionId'product.list'); 
     
    
$fp fopen('var/export/zbozi.xml''w');
    
fwrite($fp'<?xml version="1.0" encoding="UTF-8"?>'."\n");
    
fwrite($fp"<SHOP>\n");

    while (list(
$key$val) = each($products)) 
    
{
        
        $produkt 
$proxy->call($sessionId'product.info'$val[sku]);
        if(
$produkt[visibility] == 4{
            $image 
$proxy->call($sessionId'product_media.list'$val[sku]);

            
fwrite($fp" <SHOPITEM>\n";
            
fwrite($fp ,"  <PRODUCT>$produkt[name]</PRODUCT>\n";
            
fwrite($fp"  <DESCRIPTION>$produkt[short_description]</DESCRIPTION>\n";
            
fwrite($fp"  <URL>http://magentoshop.cz/$produkt[url_path]</URL>\n";
            
fwrite($fp ,"  <IMGURL>".$image[0]["url"]."</IMGURL>\n";
            
fwrite($fp ,"  <ITEM_TYPE>new</ITEM_TYPE>\n";
            
fwrite($fp"  <PRICE_VAT>$produkt[price]</PRICE_VAT>\n";
            
fwrite($fp" </SHOPITEM>\n";    
        
}
    }

    fwrite
($fp"</SHOP>\n");
    
fclose($fp);

Pokud to bude takto, do souboru se nevypíše konec XML tedy </SHOP> - tj. neprovedou se poslední dva řádky kódu. Pokud odeberu volání product_media.list v cyklu while a zároveň smažu řádek vypisující $image[0][’url’] - pak se dostane skript i za cyklus while. Nedokážu už dlouho pÅ™ijít na to proč (neprojde to ani ve foreach, ani ve while) ... navíc nevypíše žádné chyby. ProstÄ› nÄ›jak Å¡patnÄ› pobere to volání API v cyklu. PÅ™itom pokud je tam jen klasické ECHO tak vÅ¡e projde i s volání API pro obrázek. Pokud bz n2kdo vÄ›dÄ›l, pÅ™edem moc moc díky…

 
Magento Community Magento Community
Magento Community
Magento Community
 
chroust
Jr. Member
 
Total Posts:  20
Joined:  2009-05-11
 

zdravim, zkousel jsem vyse uvedeny script, ale nic se neprovede. jak verze s echo tak verze se zapisem do xml ni nedela. muze mi nekdo poradit jak ten script rozbehat? zkousel jsem ho nahrat na web a spustit a nic. je treba nekde neco overit a postelovat?
diky moc za rady

magento mam 1.3.2.1

edit: tak se zadarilo, vyrabi to xml :D .. jeste se mrknu na to, proc to hazi tu chybu 500 a neukonci tag <SHOP>

 
Magento Community Magento Community
Magento Community
Magento Community
 
chroust
Jr. Member
 
Total Posts:  20
Joined:  2009-05-11
 

narazil jsem na problem. zrejme je script dosti narocny a muj hosting ma (pochopitelne) omezeny time_limit na provadeni scriptu. napadlo me omezit tento script podle ID vyrobku a rozdelit ho na nekolik dilcich napr. po 40ti vyrobcich. bohuzel vsak nevim jak na to ... muze mi nekdo alespon trochu poradit jak na to - jak se dostat k IDcku vyrobku a pak uz si mozna poradim.

diky

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top
Page 1 of 5