Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Čtečka XML feedu z e-shopů

Ahoj,
sháním nějakou čtečku XML feedu z e-shopů, ideálně v kombinaci s katalogem. Nevíte o něčem již hotovém?
2. 10. 2008 12:15:07
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134919
Honzaa
verified
rating uzivatele
5. 10. 2008 20:51:51
// Open and read xml file. You can replace this with your xml data.
$data="";
$file = "http://www.neco.cz/export/export_products.php";
$pos = 0;
$Nodes = array();
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($getline = fread($fp, 4096)) {
$data = $data . $getline;
}
$count = 0;
$pos = 0;
// Goes throw XML file and creates an array of all tags.
while ($node = GetElementByName($data, "", "")) {
$Nodes = $node;
$count++;
$data = substr($data, $pos);
}
// Gets infomation from tag siblings.
for ($i=0; $i<$count; $i++) {
$url = GetElementByName($Nodes, "", "");
$kat = GetElementByName($Nodes, "", "");
$desc = GetElementByName($Nodes, "", "");
$title = GetElementByName($Nodes, "", "");
$obrazek = GetElementByName($Nodes, "", "");
$price = GetElementByName($Nodes, "", "");
$dph = GetElementByName($Nodes, "", "");
}
5. 10. 2008 20:51:51
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134918
Vít Jurásek
verified
rating uzivatele
(56 hodnocení)
10. 10. 2008 15:30:36
Když už se tu rozběhlo toto téma - nemá někdo hotové řešení na bázi "zbozi.cz"? Tj. včetně správy obchodů, administrace, cron skriptů pro stahování apod.
10. 10. 2008 15:30:36
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134917
Vít Jurásek
verified
rating uzivatele
(56 hodnocení)
10. 10. 2008 15:43:30
Napsal Honzaa;123873
$dph = GetElementByName($Nodes, "", "");
}
Prosím - GetElementByName je nějaká standardní funkce z knihoven?
10. 10. 2008 15:43:30
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134916
Honzaa
verified
rating uzivatele
10. 10. 2008 23:20:29
Napsal Honzaa;123873
function GetElementByName ($xml, $start, $end) {
global $pos;
$startpos = strpos($xml, $start);
if ($startpos === false) {
return false;
}
$endpos = strpos($xml, $end);
$endpos = $endpos+strlen($end);
$pos = $endpos;
$endpos = $endpos-$startpos;
$endpos = $endpos - strlen($end);
$tag = substr ($xml, $startpos, $endpos);
$tag = substr ($tag, strlen($start));
return $tag;
}
// Open and read xml file. You can replace this with your xml data.
$data="";
$file = "http://www.neco.cz/export/export_products.php";
$pos = 0;
$Nodes = array();
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while ($getline = fread($fp, 4096)) {
$data = $data . $getline;
}
$count = 0;
$pos = 0;
// Goes throw XML file and creates an array of all tags.
while ($node = GetElementByName($data, "", "")) {
$Nodes = $node;
$count++;
$data = substr($data, $pos);
}
// Gets infomation from tag siblings.
for ($i=0; $i<$count; $i++) {
$url = GetElementByName($Nodes, "", "");
$kat = GetElementByName($Nodes, "", "");
$desc = GetElementByName($Nodes, "", "");
$title = GetElementByName($Nodes, "", "");
$obrazek = GetElementByName($Nodes, "", "");
$price = GetElementByName($Nodes, "", "");
$dph = GetElementByName($Nodes, "", "");
}
Omlouvám se. Teď to tu máte i s tou funkcí.
10. 10. 2008 23:20:29
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134915
MarekMlcoch
verified
rating uzivatele
31. 1. 2009 00:00:00
Napsal Honzaa;126394
Omlouvám se. Teď to tu máte i s tou funkcí.
Vážený Honzo,
ta čtečka je univerzální? Dá se použít i pro načtení XML souboru do e-schopu
PRESTASHOP? Můžeš mi ho blíže rozebrat a popsat?
Potřebuji pomoct udělat nějaký plugin, modul nebo script PHP, který naimportuje do eshopu položky i obrázky z jiného eshopu pomoci xml feedu (feed viz. níže) tak aby se automaticky importovaly nové položky a současně se mazaly položky, které v aktuálním XML již nejsou. Možnost nastavení času, či intervalu, kdy se má automatický import provést (k tomuto by se dal použít Remote Cron).
Díky.
S pozdravem
Marek
31. 1. 2009 00:00:00
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134914
Honzaa
verified
rating uzivatele
31. 1. 2009 22:26:48
Napsal MarekMlcoch;202037
Vážený Honzo,
ta čtečka je univerzální? Dá se použít i pro načtení XML souboru do e-schopu
PRESTASHOP? Můžeš mi ho blíže rozebrat a popsat?
Potřebuji pomoct udělat nějaký plugin, modul nebo script PHP, který naimportuje do eshopu položky i obrázky z jiného eshopu pomoci xml feedu (feed viz. níže) tak aby se automaticky importovaly nové položky a současně se mazaly položky, které v aktuálním XML již nejsou. Možnost nastavení času, či intervalu, kdy se má automatický import provést (k tomuto by se dal použít Remote Cron).
Díky.
S pozdravem
Marek
Úplně univerzální čtečka to není. Dokáže přečíst pouze jednoduché elementy bez parametrů. Ale je velmi jednoduchá a pro většinu XML souborů dostačuje. Jinak ve zdrojovém kódu je vlastně vše vysvětleno i to, jak načíst elementy do proměnných. Chce to ale trochu umět PHP a pokud to chceš importovat do databáze, stačí udělat jednoduchý insert do smyčky FOR
31. 1. 2009 22:26:48
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134913
MarekMlcoch
verified
rating uzivatele
1. 2. 2009 11:48:27
Napsal Honzaa;202845
Úplně univerzální čtečka to není. Dokáže přečíst pouze jednoduché elementy bez parametrů. Ale je velmi jednoduchá a pro většinu XML souborů dostačuje. Jinak ve zdrojovém kódu je vlastně vše vysvětleno i to, jak načíst elementy do proměnných. Chce to ale trochu umět PHP a pokud to chceš importovat do databáze, stačí udělat jednoduchý insert do smyčky FOR
Mohl by jsi mi napsat ten insert? Aspoň mě "nakopnout".
Díky.
1. 2. 2009 11:48:27
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134912
Jiří Zachar
verified
rating uzivatele
(4 hodnocení)
1. 2. 2009 15:24:29
Nez pouzivat fopen a slozite cteni, muzes to udelat jednoduse pres Dom document:
$xml = new DOMDocument();
$xml->load($url_feedu);
Urcite se s tim pracuje lepe a rychleji.
Insert urcite nedavat do foru, kdyz muzes vkladat jednim dotazem.
Dotaz si udelas jednoduse napriklad takto:
$xml = new DOMDocument();
$xml->load($feedUrl);
$item=$xml->getElementsByTagName('shopitem');
//nactes napriklad 10 hodnot
for($i=0; $i < 10; $i++ ){
$title = $item->item($i)->getElementsByTagName('produkt')->item(0)->childNodes->item(0)->nodeValue;
$values[] = " ('" . addslashes(htmlspecialchars($title)) . "')";
}
$sql= "INSERT INTO table (`column_name`)" VALUES;
$sql .= implode(", ", $values);
mysql_query($sql);
Doufam ze tam nebude moc chyb, napsal jsem to jenom rychle.
1. 2. 2009 15:24:29
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134911
Napsal zaachi;203317
Nez pouzivat fopen a slozite cteni, muzes to udelat jednoduse pres Dom document:
Urcite se s tim pracuje lepe a rychleji.
Insert urcite nedavat do foru, kdyz muzes vkladat jednim dotazem.
Dotaz si udelas jednoduse napriklad takto:
Doufam ze tam nebude moc chyb, napsal jsem to jenom rychle.
Díky za radu, vyzkouším a dám vědět. Možná, že se na Tebe ještě obrátím a budu Tě otravovat. Ještě jednou díky.
2. 2. 2009 08:10:43
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134910
Azu
verified
rating uzivatele
3. 2. 2009 18:07:27
V praxi to pak není tak jednoduché jak to takto vypadá protože některá XML bývají pěkně velká a pokud nemůžeš na serveru ovlivnit všechno nastavení, tak ti nejspíš dojde čas pro běh scriptu, ale především i vymezená paměť. Další úsklaí jsou třeba v tom, že někteří ty tagy píší malýma a jiní velkýma písmenama, na což je potřeba také pamatovat, ale též je dodávají s GZIP nebo ZIP kompresí. Určitě sem ještě zapomněl i na nějaké dálší možné zádrhele které s tím jsou, také mně to trvalo pěknou chvíli všechny ty nástrahy odladit.
3. 2. 2009 18:07:27
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134909
Napsal Azu;205251
V praxi to pak není tak jednoduché jak to takto vypadá protože některá XML bývají pěkně velká a pokud nemůžeš na serveru ovlivnit všechno nastavení, tak ti nejspíš dojde čas pro běh scriptu, ale především i vymezená paměť. Další úsklaí jsou třeba v tom, že někteří ty tagy píší malýma a jiní velkýma písmenama, na což je potřeba také pamatovat, ale též je dodávají s GZIP nebo ZIP kompresí. Určitě sem ještě zapomněl i na nějaké dálší možné zádrhele které s tím jsou, také mně to trvalo pěknou chvíli všechny ty nástrahy odladit.
Mohl by jsi mi podrobněji popsat odladění těch zádrhelů. Konkrétně se mi jedná o načítání dat z xml feedu ZBOZI.CZ. Díky předem.
4. 2. 2009 11:32:19
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134908
MarekMlcoch
verified
rating uzivatele
4. 2. 2009 11:34:26
Napsal Azu;205251
V praxi to pak není tak jednoduché jak to takto vypadá protože některá XML bývají pěkně velká a pokud nemůžeš na serveru ovlivnit všechno nastavení, tak ti nejspíš dojde čas pro běh scriptu, ale především i vymezená paměť. Další úsklaí jsou třeba v tom, že někteří ty tagy píší malýma a jiní velkýma písmenama, na což je potřeba také pamatovat, ale též je dodávají s GZIP nebo ZIP kompresí. Určitě sem ještě zapomněl i na nějaké dálší možné zádrhele které s tím jsou, také mně to trvalo pěknou chvíli všechny ty nástrahy odladit.
Tak ještě jednou. Zapoměl jsem se zalogovat.
Mohl by jsi mi podrobněji popsat odladění těch zádrhelů. Konkrétně se mi jedná o načítání dat z xml feedu ZBOZI.CZ. Díky předem.
4. 2. 2009 11:34:26
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134907
Azu
verified
rating uzivatele
5. 2. 2009 03:11:49
Zádrhely jsou právě ty co sem jmenoval. Nejsou vyjimkou z některých obchodů xml feedy, které mají i více jak 70MB, u kterých bývá na kdejakém hostingu problém se zpracováním takto velkých souborů, protože dojde k nedostatku paměti.
5. 2. 2009 03:11:49
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134906
Když už jsme u toho, lze čtečku xml feedu nějak přidat do wordpressu? Nebo nevítě někdo o takovém pluginu do wordpressu? Díky.
5. 2. 2009 19:56:45
https://webtrh.cz/diskuse/ctecka-xml-feedu-z-e-shopu/#reply134905
Pro odpověď se přihlašte.
Přihlásit