Jak dostosować szablon eksportu do sklepu internetowego?

Jak dostosować szablon eksportu do sklepu internetowego?

Mechanizm eksportu produktów do sklepu internetowego w CENNIKu Off-Line pozwala na bardzo elastyczne dostosowanie wyglądu opisu produktu do wymagań sklepu internetowego.

W celu zmienienia szablonu eksportu produktów do sklepu internetowego należy:

  1. Przygotować szablon XSLT dostosowany do własnych potrzeb.
  2. Wybrać przygotowany szablon w ustawieniach programu.

Przygotowanie szablonu XSLT

Od czego zacząć?
 

Dostosowanie szablonu eksportu produktu do sklepu internetowego jest wykonywane przy wykorzystaniu języka XSLT (eXtensible Stylesheet Language Transformation), czyli języka do transformacji dokumentów XML.

Podstawowe własności języka zostaną omówione w dalszej części artykułu, aby jednak w pełni wykorzystać możliwości dostosowania szablonu niezbędna jest znajomość języka XSLT.

Przy dostosowaniu szablonu eksportu należy mieć na uwadze fakt, że wynikiem transformacji dokumentu XML do formatu wykorzystywanego w sklepie internetowym, czyli do HTML.

Przydatne linki:

 www.w3schools.com/xsl/ - kompleksowy kurs języka XSLT (po angielsku)

 www.w3schools.com/html/ - kompleksowy kurs języka HTML (po angielsku)

 www.xmlguru.net/kursy/kursy-xslt/ - strona z kursem języka XSLT (po polsku)

 www.interklasa.pl/portal/dokumenty/kurs_html/ - kurs języka HTML (po polsku)

 

Proces eksportu produktów do sklepu internetowego można wyobrażać sobie następująco:

  1. Informacje o produkcie są zapisywane do dokumentu XML.
  2. Dokument XML podlega transformacji przy wykorzystaniu szablonu XSLT i powstaje kod HTML.
  3. Wynikowy kod HTML jest eksportowany jako pole opisu do sklepu internetowego.

dibby-cennik-off-line-szablony-xslt

Postać pliku XML

Do stworzenia szablonu XSLT konieczna jest znajomość struktury dokumentu XML, dla którego szablon będzie tworzony. Przykładowy dokument XML generowany przez CENNIK Off-Line ma następującą strukturę:

dibby-cennik-off-line-xml

 

 

Jak dokonać transformacji XLST?

Domyślnie wykorzystywany szablon w CENNIKu Off-Line, wygląda następująco:

 

Pierwsza linia zawiera informację nagłówkową o dokumencie i informuje, iż jest to szablon XSL zgodny szablonie zgodny ze specyfikacją w3.org z 1999 roku w wersji 1.0 (dostępną pod adresem http://www.w3.org/1999/XSL/Transform).

W linii nr 3 rozpoczynany jest szablon dla całego dokumentu, natomiast w liniach 4 i 5 generowany jest początek generowanego opisu produktu w HTML (czyli pogrubiony napis Gwarancja, dwukropek i odstęp).

W linii nr 6 wykorzystywany jest selektor języka XSLT, który zostanie zastąpiony wartością zapisaną w tagu Produkty -> produkt -> gwarancja z transformowanego pliku XML.

W linii nr 7 wykorzystany jest kolejny tag języka XSLT "for-each", oznaczający, że dla każdego tagu parametr wewnątrz Produkty -> produkt- > parametry zostanie wygenerowany fragment HTML - znajdujący się pomiędzy liniami 8 - 18.

W linii nr 8 sprawdzane jest, czy wartość "@action" znajduje się wewnątrz tagu wartosc i jeśli nie, to wygenerowany zostanie fragment kodu zawarty wewnątrz linii 9 - 17. Ten test zapewnia, że informacje o osobach kontaktowych z hurtowni nie zostaną wyeksportowane do sklepu internetowego.

Następne linie generują pogrubiony tekst nazwy parametru (10 linia wykorzystuje selektor dla tagu nazwa, 11 linia - generowanie tekstu dwukropek i odstęp), a następnie wartość parametru (linia 13 - selektor dla tagu wartosc).

W linia nr 14 wykonywany jest kolejny test - sprawdzane jest, czy wprowadzona w tagu jednostka wartość nie zawiera "www", aby pominąć wyświetlanie takiej jednostki - i w linii 15 wyświetlana jest wartość tagu jednostka, jeśli nie zawierała ona tekstu "www".

Na koniec (w linii 17) wstawiany jest podział wiersza (tag br) i zamykane są wszystkie pozostałe tagi.

Wynikiem tej transformacji dla podanego dokumentu XML będzie kod HTML wyglądający następująco:

Bardziej rozbudowany szablon, który zamieni zakodowaną informację o gwarancji zapisaną w postaci typu B000M, F012M, R024M na format bardziej przejrzysty i czytelny dla odbiorcy, np. odpowiednio: Brak gwarancji, 12 miesięcy gwarancji fabrycznej, 24 miesiące rękojmi, może wyglądać następująco:

Szablon ten różni się od poprzedniego zastąpieniem linii 6 przez ciąg instrukcji formatujących pole gwarancji (linie od 6 do 39).

W linii numer 6 wykonywane jest rozpatrzenie przypadków, na następujące:

  • Przypadek 1 (linia 7): kiedy pole gwarancja zaczyna się od litery B
    • Wtedy generowany jest tekst Brak gwarancji (linia 8)
  • Przypadek 2 (linia 10): kiedy pole gwarancji zaczyna się od litery F, albo G, albo R
    • Wtedy generowany jest tekst określający długość i typ gwarancji (opisany poniżej)
  • Przypadek 3 (linia 36): czyli gdy żaden z powyższych przypadków nie zachodzi
    • Wtedy generowany jest niezmieniony tekst z tagu "gwarancja"

 

Do generowania tekstu określającego długość i typ gwarancji znowu wykonywane jest rozpatrzenie przypadków, ze względu na długość gwarancji (linia 12), w celu poprawnej odmiany rzeczownika miesiąc (1 miesiąc, 2 miesiące, …, 5 miesięcy, etc.) - zgodnie z zasadami języka polskiego, a w linii 24 rozpatrywane sprawdzana jest litera określająca typ gwarancji (rękojmia, gwarancja fabryczna lub zwykła gwarancja).

Możliwości dostosowania szablonu eksportu za pomocą języka XSLT jest bardzo dużo i na tym poziomie można przefiltrować parametry, zmienić ich formatowanie, wykorzystać dodatkowe informacje o produkcie (np. dostępność, kategorię, cenę, marżę) w celu zmiany sposobu formatowania lub dodania dodatkowych elementów.

Przykładowe szablony XSLT

Więcej przykładowych szablonów można pobrać tu: szablony-xslt.rar.

Do każdego szablonu przypisany jest plik XML z dodaną linią definiującą szablon, co daje informację do przeglądarki o sposobie formatowania tekstu. Umożliwia to zobaczenie wyniku transformacji w przeglądarkach wspierających język XSLT, np. Internet Explorer. Wystarczy otworzyć plik XML zawierający informację o szablonie, a wyświetlony zostanie rezultat transformacji.

Ustawienie szablonu eksportu w CENNIKu Off-Line

Po stworzeniu lub pobraniu szablonu XSLT należy ustawić CENNIK Off-Line, aby był on wykorzystywany.
W tym celu należy wejść w zakładkę OsCommerce, kliknąć Ustawienia i przejść do karty Zaawansowane ustawienia.

dibby-cennik-off-line-ustawienia-uzywania-szablonow-xslt

Na dole okna jest pole do zaznaczenia Korzystaj z innego szablonu (XSLT) do eksportowanych produktów: oraz pole Szablon - do wybrania pliku XSLT. Należy zaznaczyć to pole i wybrać przygotowany szablon, a następnie kliknąć zakończ.

Od tego momentu, wszystkie produkty eksportowane do sklepu będą korzystały z ustawionego szablonu. Nie zmienia to jednak produktów już znajdujących się w sklepie. Aby mieć pewność, że wprowadzone zmiany zostaną przeprowadzone do wszystkich produktów należy Wykonać pełny eksport (druga ikona w oknie eksportu danych do sklepu).

dibby-cennik-off-line-ikonka-wykonaj-pelny-eksport

 

All rights reserverd by dibby sp. z o.o. | COPYRIGHT 2007 - 2018
www.dibby.pl