[ad#ad-1]
Po kilku godzinach pracy udało mi się sprawić, aby wygenerować plik XML, który jest strawny dla robota z nokaut.pl . Fundamentem do mojej pracy jest integrator autorstwa Pawła Kopeć z 2007. r. do pobrania tutaj: com_esklepy
Instalujemy owy komponent poprzez zaplecze –> INSTALATOR.
Jest to komponent służący do wygenerowania strumienia, jaki akceptuje porównywarka esklepy. Domyślnie po wywołaniu index.php?option=com_esklepy generowana jest strona z długim ciągiem słów, oddzielonych tabulacją i znakami '\n’. My zaś potrzebujemy plik XML zjadliwy dla nokaut.pl , który będzie dokumentem xml w postaci pliku na serwerze.
- Pierwsze co robimy to uporządkowujemy wyniki wyświetlania w pliku COMPONENTS\COM_ESKLEPY\esklepy.php
linijka 67: print $kat.”\t”.$prod->product_id.”\t”.$pr->product_name.”\t”.$opis.”\t”.$brutto.”\t”.$miniaturl.”\t”.$link.”\n”;
- Zamieniamy wyniki wyświetlania kolejnością i wstawiamy tutaj xml’owe tagi. Po zabiegu mamy:
print '<offer><id>’.$prod->product_id.'</id><name>![CDATA[’.$pr->product_name.’]]</name><description>![CDATA[’.$opis.’]]</description><category>’.$kat.'</category><price>’.$brutto.'</price><image>![CDATA[’.$miniaturl.’]]</image><url>![CDATA[’.$link.’]]</url></offer>’;
znaczniki ![CDATA[ treść ]] są wymagane w przypadku używania nietypowych znaków jak & , < , > , …
- Teraz zajmijmy się nagłówkiem. PLik XML generowany dla nokaut.pl powinien mieć następujący nagłówek:
<?xml version=”1.0″ encoding=”ISO-8859-2″?><!DOCTYPE nokaut SYSTEM „http://www.nokaut.pl/integracja/nokaut.dtd”><nokaut>
i pamiętajmy, że musi być to zapisane w pliku xml, czyli wynikowo:
$file = „nokaut.xml”;
unlink($file);
$fp = fopen($file, „a”);
$dane= '<?xml version=”1.0″ encoding=”ISO-8859-2″?><!DOCTYPE nokaut SYSTEM „http://www.nokaut.pl/integracja/nokaut.dtd”><nokaut><offers>’;
fwrite($fp, $dane);
fclose($fp);
- OK. w tym momencie mamy ZAPISANY nagłówek do pliku i WYŚWIETLONE produkty. Zmnieńmy zapis wyświetlania tak, aby nam zapisywał do pliku, czyli:
76.$file = „nokaut.xml”; //zapis do pliku nokaut.xml
77.$fp = fopen($file, „a”); //otwarcie pliku
78.$dane= '<offer><id>’.$prod->product_id.'</id><name>![CDATA[’.$pr->product_name.’]]</name><description>![CDATA[’.$opis.’]]</description><category>’.$kat.'</category><price>’.$brutto.'</price><image>![CDATA[’.$miniaturl.’]]</image><url>![CDATA[’.$link.’]]</url></offer>’;
79.echo „eksport: „.$pr->product_name.”<br>”; //informacja jaką wyświetla przeglądarka, nieobowiązkowe pole..
80.fwrite($fp, $dane); //zapisujemy pojedynczy produkt do pliku xml
81.fclose($fp);
82.}
83.}
84.$file = „nokaut.xml”;
85.$fp = fopen($file, „a”);
86.$dane= '</offers></nokaut>’; //na koncu listy produktów „ZAMYKAMY” plik XML.
87.fwrite($fp, $dane);
88.fclose($fp);
89.}
i voila! gotowy plik PHP znajdziesz tutaj: esklepy.php
Chylę czoła dla autora integratora eSklepy – Pawła Kopeć, którego komponent posłużył do dalszych prac nad doskonaleniem systemu VirtueMart .
……………………………………………………………………………………..
PACZKA INSTALACYJNA INTEGRATORA
NOKAUT DOSTĘPNA TUTAJ:
Po wygenerowaniu pliku XML napisz proszę w komentarzu czy jest on poprawny lub co ewentualnie można poprawić.
UWAGA! PRZED INSTALACJĄ WŁĄCZAMY LEGACY MODE (SPUŚCIZNA) . Znajdziesz ten dodatek w lokalizacji ROZSZERZENIA –> DODATKI –> system (spuścizna).
……………………………………………………………………………………………….
Masz pytanie/problem? Napisz komentarz!