Virtuemart – integracja z porównywarką nokaut.pl

///Virtuemart – integracja z porównywarką nokaut.pl

Virtuemart – integracja z porównywarką nokaut.pl

[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ć.

integracja_vm_nokaut

UWAGA! PRZED INSTALACJĄ WŁĄCZAMY LEGACY MODE (SPUŚCIZNA) . Znajdziesz ten dodatek w lokalizacji ROZSZERZENIA –> DODATKI –> system (spuścizna).

……………………………………………………………………………………………….

Masz pytanie/problem?  Napisz komentarz!

Skomentuj wpis

komentarzy

By | 2012-10-09T16:07:34+00:00 Maj 9th, 2010|Webdesign - html / php / js|11 komentarzy

About the Author:

11 komentarzy

  1. essi 07-06-2010 at 13:47

    Proponowany plik błednie wpisuje ceny nie jest do konca zgodny z nokaut, mam prawidłowo plik zainteresowanym udostepnie za darmo, [email protected]

  2. admin 09-06-2010 at 11:09

    czy problem dotyczy sposobu rozdzielania złotówek od groszy np. 7,95 i 7.95 ?
    zapodaj w takim razie link do poprawionej wersji lub opisz proszę w komentarzu sposób poprawienia

  3. admin 09-06-2010 at 22:39

    ok, juz poprawione – proszę pobierać plik z linka „integracja …” poniewaz link do pliku .php jest niepoprawiony. Chętnych prosiłbym o przetestowanie, gdyż nie mam w tej chwili platformy testowej

  4. Dudek 16-06-2010 at 13:45

    Panowie Panowie… a powiecie jak dodać jeszcze do tego pobieranie nazwy producenta z bazy ??

  5. marco01 23-06-2010 at 21:01

    Czesc , u mnie jest problem ze nokaut nie umi pobrać pliku pobiera pobiera i końca nie widać, dąłem mu uprawnienia chmod 777 zeby sprawdzic czy to działa i nic…

    Działa to komuś poprawnie? jak tak to co zrobić ?

    dzieki

  6. foxcom 25-06-2010 at 09:40

    Witam!
    Dołączę się do tematu.
    Jeżeli ktoś potrzebuje to zrobiłem mod dal radar.pl do pobrania tutaj

  7. marco01 11-07-2010 at 10:43

    dostałem takiego maila:

    Witam,

    Zauważyłem, że Państwa sklep xxx.pl nie jest poprawnie zintegrowany z
    porównywarką cen Nokaut.pl.

    Prosimy poprawic strukture pliku XML.

    W tej chwili sa bledy w zapisie CDATA:

    ,name>![CDATA[Charles Delon 4148/12]],/name> (przecinek zastepuje ,![CDATA[Charles Delon 4148/12]]>,/name> (przecinek zastepuje < gdyż nie chciało się to poprawnie wyświetlić tutaj)

    Informacje dot. integracji sklepu z Nokaut.pl są dostępne pod adresem
    http://www.nokaut.pl/integracja.html

    W razie pytań jesteśmy do dyspozycji.

    wie ktoś jak to poprawić bo sama zmiana w pliku xml nic nie da bo po każdej aktualizacji będzie źle tworzył plik.

    Z góry dzięki za pomoc.

  8. pyby 20-07-2010 at 18:43

    czesc, zaraz poprawie

  9. admin 20-07-2010 at 18:46

    musisz miec coś źle w kodowaniu, u mnie normalnie generuje ‚< ' <--- ten znaczek. fragment z mojego pliku XML: ![CDATA[Telewizor LCD Manta 5”]] . Jesteś pewien, ze masz najnowszy komponent z tej strony?

  10. Ogród Ewy 04-09-2010 at 22:11

    Niestety ale w treści pliku xml wielokrotnie wstawiane są znaczniki zamykające i nokaut nic nie zaczytuje.
    Ręczne usunięcie rozwiązuje problem do następnego eksportu.

  11. Ogród Ewy 08-09-2010 at 22:50

    W wygenerowanym pliku brakuje informacji o producentach:

Leave A Comment