Temat: generowanie pliku xml do porównywarek

Cześć,

Chciałbym wygenerować plik xml przy użyciu php do porównywarki cen (obojętnie jakiej szablon już sobie sam dostosuje)

Problem jest w tym ze nie jestem programistą i wyciągnąć z bazy dane jeszcze dam radę, ale nie bardzo potrafię opisać to w skrypt php zeby generował do xml.

Jeżeli ktoś znalazłby chwilkę to z góry wielkie dzięki. Czytałem specyfikację i mimo to nadal nie daje rady :(
Mateusz Borowik

Mateusz Borowik specjalista ds.
aplikacji
internetowych

Temat: generowanie pliku xml do porównywarek

Sprawa jest dość prosta ale strasznie mozolna, gdy trzeba przygotować ten plik do 10 porównywarek :-)

Pierwsza sprawa to pobieraj specyfikację danej porównywarki:
przykład: http://nokaut.pl/dl/nokaut-integracja.pdf

Ogólny plik ma wyglądać tak:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE nokaut SYSTEM "http://www.nokaut.pl/integracja/nokaut.dtd">
<nokaut generator=”sote” ver=”5.0”>
<offers>
<offer>
<id>1</id>
<name><![CDATA[Canon EOS 500D]]></name>
<description><![CDATA[Doskonały następca modelu Canon 450D. Model 500D wyposażony został w
nowoczesną matrycę o rozdzielczości 15.1mln, rozszerzony zakres czułości 100-3200 (12.800) oraz
możliwośd nagrywania filmów w rozdzielczości Full HD.]]></description>
<url><![CDATA[http://www.example.org/produkt1.html]]></url>
<image><![CDATA[http://www.example.org/img/produkt1.jpg]]></image>
<price>2425.90</price>
<category><![CDATA[Aparaty cyfrowe / Lustrzanki cyfrowe]]></category>
<producer><![CDATA[Canon]]></producer>
<property name=”EAN”> 871 4574 535326</property>
<property name=”rozdzielczośd”><![CDATA[15 Mpx]]></property>
<promo><![CDATA[Zamawiając ten produkt przed 31.12.2010 dostaniesz 2 bilety do kina
gratis]]></promo>
<availability><![CDATA[dostępny od ręki]]></availability>
<warranty><![CDATA[Gwarancja producenta 2 lata od daty zakupu]]></warranty>
</offer>
</offers>
</nokaut>


Wyciągasz dane z bazy i w pętlę np. foreach dajesz:


<offer>
<id>1</id>
<name><![CDATA[Canon EOS 500D]]></name>
<description><![CDATA[Doskonały następca modelu Canon 450D. Model 500D wyposażony został w
nowoczesną matrycę o rozdzielczości 15.1mln, rozszerzony zakres czułości 100-3200 (12.800) oraz
możliwośd nagrywania filmów w rozdzielczości Full HD.]]></description>
<url><![CDATA[http://www.example.org/produkt1.html]]></url>
<image><![CDATA[http://www.example.org/img/produkt1.jpg]]></image>
<price>2425.90</price>
<category><![CDATA[Aparaty cyfrowe / Lustrzanki cyfrowe]]></category>
<producer><![CDATA[Canon]]></producer>
<property name=”EAN”> 871 4574 535326</property>
<property name=”rozdzielczośd”><![CDATA[15 Mpx]]></property>
<promo><![CDATA[Zamawiając ten produkt przed 31.12.2010 dostaniesz 2 bilety do kina
gratis]]></promo>
<availability><![CDATA[dostępny od ręki]]></availability>
<warranty><![CDATA[Gwarancja producenta 2 lata od daty zakupu]]></warranty>
</offer>


Zapisujesz wszystko do pliku:

$plik = fopen("szafa.xml","w"); - otwracie pliku
fputs($plik, "tu treść xmla"); - zapisanie danych
fclose($plik); - zamykanie plik

Temat: generowanie pliku xml do porównywarek

no wlasnie jest to proste dla osób które programują na codzień, ja niestety nie potrafię:(

w kodzie który podałeś nie ma niestety nic co mogloby mi pomóc, jak ma wyglądać plik to wiem, ale nie wiem jak ustawić zmienne, wyciągnąć je z bazy tak zeby to dzialalo :/ szukam cały czas jakiegoś gotowca gdzie mógłby zmienić tylko nazwy pol w bazie danych ale niestety na razie nic, a wydawałoby się jest tego mnóstwo chociazby do oscommerce czy coś w tym stylu

czesciowo mógłby sie oprzec na kodzie sklepu, ale jest on zrobiony na smartach itego to już w ogole nie kumam :/Marcin N. edytował(a) ten post dnia 29.11.10 o godzinie 12:53
Mirosław Ratman

Mirosław Ratman Manager IT,
Architekt systemów
@Avast, Founder
@aSyncro ...

Temat: generowanie pliku xml do porównywarek

W necie jest jakieś 100 mln przykładów :) - wystarczy uzyć googla aby znaleźć!

http://www.google.com/#sclient=psy&hl=pl&q=php+create+...

konto usunięte

Temat: generowanie pliku xml do porównywarek

Marcin N.:
no wlasnie jest to proste dla osób które programują na codzień, ja niestety nie potrafię:(

w kodzie który podałeś nie ma niestety nic co mogloby mi pomóc, jak ma wyglądać plik to wiem, ale nie wiem jak ustawić zmienne, wyciągnąć je z bazy tak zeby to dzialalo :/ szukam cały czas jakiegoś gotowca gdzie mógłby zmienić tylko nazwy pol w bazie danych ale niestety na razie nic, a wydawałoby się jest tego mnóstwo chociazby do oscommerce czy coś w tym stylu

czesciowo mógłby sie oprzec na kodzie sklepu, ale jest on zrobiony na smartach itego to już w ogole nie kumam :/Marcin N. edytował(a) ten post dnia 29.11.10 o godzinie 12:53

Podaj przynajmniej strukturę tabeli z produktami jakie posiadasz bo sam skrypt można napisać jako wersję całkowicie niezależną od silnika sklepu (btw. jaki to silnik ?). Chętnie pomogę w ramach relaksu ;).

konto usunięte

Temat: generowanie pliku xml do porównywarek

Ja to bym zrobił simpleXMLem, a nie stringami do pliku

konto usunięte

Temat: generowanie pliku xml do porównywarek

Mateusz Jaworski:
Ja to bym zrobił simpleXMLem, a nie stringami do pliku

I jeszcze przejechać całość DOMDocument żeby ładnie się sformatowało i walidowało. Np tak (gdzie $xml to już wynik z simplexml) :

header('Content-type: text/xml; charset=utf-8');
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$domnode = dom_import_simplexml($xml);
$domnode = $doc->importNode($domnode, true);
$domnode = $doc->appendChild($domnode);
echo $doc->saveXML();

Temat: generowanie pliku xml do porównywarek

mam coś takiego w tabeli fo_stock_items

itemID int(11) Nie auto_increment stockID int(11) Nie catID int(11) Nie name char(240) utf8_general_ci Tak NULL code varchar(240) utf8_general_ci Nie indeks char(18) utf8_general_ci Nie width int(4) Nie height int(4) Nie depth int(4) Nie pocketQt int(5) Nie vol decimal(10,10) Nie filtrClassID int(11) Nie materialID int(11) Nie priceNetto double(12,2) Nie description text utf8_general_ci Nie na nazwe produktu sklada sie name width x height x depth

oprócz tego trzeba wyciągnąć cenę priceNetto do której trzeba dodać vat i oczywiscie description

zastanawiam się jeszcze jak wyciagnać url i zdjecie, ale to szczegół na później

sory totalnie się to rozjechalo :/Marcin N. edytował(a) ten post dnia 29.11.10 o godzinie 14:52

konto usunięte

Temat: generowanie pliku xml do porównywarek

pierwsze slysze, by serwowac rzeczywiste dane ze sklepu do porownywarek :D
Mateusz Borowik

Mateusz Borowik specjalista ds.
aplikacji
internetowych

Temat: generowanie pliku xml do porównywarek

Wojciech Zbigniew Piotrowicz:
pierwsze slysze, by serwowac rzeczywiste dane ze sklepu do porownywarek :D

Dokładnie, nie ma takiej potrzeby. Porównywarki i tak pobierają ofertę minimalnie raz na dobę. Wystarczy generować od nowa plik xml co 24h

Następna dyskusja:

Generowanie formularz z pli...




Wyślij zaproszenie do