Autor | Zpráva | ||
---|---|---|---|
petřík Profil * |
#1 · Zasláno: 19. 6. 2009, 19:32:40
Ahojte,
chtěl jsem se zeptat jestli mi někdo může poradit jak si vytvořit xml feed pro svůj maly obchod. Hedal jsem na netu, ale většina zveřejněných kodu byla pro free e-shop. Jako nejprimitivnější řešeni mě napadlo to udělat jako zapis do souboru, ale na netu jsem viděl i elegantnější řešni pomocí tříd. Ale když byly uvedeny ty třídy tak tam nebyl uvedeny způsob ve spojeni s db...poradí mi někdo |
||
fuckin Profil * |
#2 · Zasláno: 19. 6. 2009, 20:25:53
zalezi na co vsechno to budes pouzivat, jestli rss ci treba pro zbozi.cz apod. ?
Podivej se na struktury vytvorenych xml jinymi weby a zkus to taky tak vytvorit. Je vic zpusobu, me se nejvic zamlouva ten ze normalne pomoci echo a cyklu vypises cely xml obsah jak potrebujes. |
||
petřík Profil * |
#3 · Zasláno: 19. 6. 2009, 20:36:43
a můžeš ten zpusob nějak popsat? a je to normalně vytvořeny soubor ?
|
||
fuckin Profil * |
#4 · Zasláno: 19. 6. 2009, 22:26:03
jak jsem psal vyse, prvni napis k cemu to bude slouzit abych vedel jake znacky a strukturu mam pouzit.
Ano bude to "soubor". Proste jen na ten skript odkazes napr xml.php a budes tam met xml tagy a data. Do rss ctecek normal das ten soubor xml.php, nemusi to byt s priponou nazev.xml. |
||
petřík Profil * |
#5 · Zasláno: 19. 6. 2009, 22:33:50
no mam maly obchod v db mam tabulku produkt a chtěl bych to pro seznam heureka atd...
|
||
petřík Profil * |
#6 · Zasláno: 19. 6. 2009, 23:21:02
našel jsem tento způsob ale nevím jak mam naistalovat ten pear
|
||
Alphard Profil |
#7 · Zasláno: 20. 6. 2009, 00:28:22 · Upravil/a: Alphard
Na to by snad ani PEAR neměl být nutný. Třídy pro práci s XML samozřejmě existují, ale tady bude dost možná nejjednodušší naplnění předpřipravené šablony.
Třeba pro RSS to může vypadat nějak takhle: <?php header ('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header ('Content-Type: text/xml'); // header('Content-type: application/xml; charset="utf-8"',true); include "../pripojeni_db.php"; $result_01 = mysql_query ("select c.id, c.nadpis, c.perex_html, date_format(c.cas, '%a, %d %b %Y %H:%i:%s GMT') cas, u.nick autor, c.cas from clanky c left join uzivatele u on c.autor = u.id where c.zobrazit = 1 order by c.id desc limit 5"); //echo mysql_error (); echo "<?xml version=\"1.0\" encoding=\"iso-8859-2\"?>\n"; echo "<rss version=\"2.0\" xml:lang=\"cs\">\n"; echo "<channel>\n"; // ... while ($line = mysql_fetch_assoc ($result_01)) { echo "<item>\n"; echo "<title>".$line['nadpis']."</title>\n"; echo "<description>".strip_tags ($line['perex_html'])."</description>\n"; echo "<author>".$line['autor']."</author>\n"; echo "<pubDate>".$line['cas']."</pubDate>\n"; echo "<link>http://".$_SERVER['SERVER_NAME']."/index.php?clanek=".$line['id']."</link>\n"; //echo "<comments></comments>\n"; echo "</item>\n"; } echo "</channel>\n"; echo "</rss>\n"; ?> Vaše XML bude asi velmi podobné. Koukal jsem na http://sluzby.heureka.cz/napoveda/import/ a je to jednoduchý xml soubor. Udělejte to stejně, jako když vypisujete html kód stránky, jen použijte jiné tagy. |
||
petřík Profil * |
#8 · Zasláno: 20. 6. 2009, 10:33:09
Alphard
děkuji za nazornou ukazku,ale kdybych aplikoval třeba na svůj web tento kod tak bych stránkách udělal odkaz ve stylu rss.php a ten by vypisoval tady toto. Ale ja jsem pochopil že to má byt přimo v souboru xml. Nebo si to špatně vykladam? |
||
DJ Miky Profil |
#9 · Zasláno: 20. 6. 2009, 10:47:09
Nezáleží na příponě, ten PHP skript vygeneruje XML soubor. Můžeš mít rss.php nebo rss.xml a bude to fungovat úplně stejně (pokud pošleš správnou hlavičku Content-Type: text/xml).
|
||
petřík Profil * |
#10 · Zasláno: 20. 6. 2009, 15:46:06
DJ Miky
takže jestli to dobře chapu tak to co tu uvedl Alphard můžu odkazovat jako rss.xml protože tam uvedl header ('Content-Type: text/xml'); chapu to dobře? |
||
Alphard Profil |
#11 · Zasláno: 20. 6. 2009, 18:01:52
petřík:
Já jsem dal ukázku RSS kanálu, přičemž RSS je XML soubor, stejně jako např. XHTML. Jen si upravte tagy. |
||
Časová prodleva: 15 let
|
0