Wyszukiwarki podczas rankingu skupiają się na tekście wewnętrznym. Nawet jeśli masz najlepsze produkty i zdmuchniesz je z kurzu, ale w opisie produktu (w tekście głównym) nie ma żadnej wzmianki o nazwie (nie licząc tytułu i h1), a producent też się nie powieli, wówczas strona z tym produktem w ramach odpowiednich żądań będzie niższa niż jej odpowiedniki (przy pozostałych czynnikach niezmiennych).
Kolejnym problemem jest obecność dużej liczby produktów, dla których zadaniem dla tych, którzy wciąż mają entuzjazm, jest skomponowanie unikalnego tekstu.
Kolejnym problemem jest lokalizacja. Z każdym językiem liczba opisów, które należy wykonać, wzrasta wielokrotnie. Masz dwa języki i 100 produktów, przygotuj się na napisanie 200 opisów.
Te i inne problemy można rozwiązać za pomocą generatora tekstów seo i opisów produktów IMGeneratorSeo (OC 3) (synonimizacja).
Zalety i możliwości
- Wsparcie dla Szybkich Szablonów dla produktów i kategorii (dane w bazie danych się nie zmieniają, tylko wyświetlają; stosowane na bieżąco; można szybko włączyć/wyłączyć).
- Zaawansowana generacja zapisuje dane w bazie danych, co pozwala nie ładować witryny (im szybciej strona się otwiera - tym bardziej lubią ją Yandex, Google i inne wyszukiwarki). Zwłaszcza biorąc pod uwagę szeroki zakres możliwości modułu.
- Dodatkowe pole z opisem produktów (można szybko włączyć/wyłączyć). Dostępne również do edycji w karcie produktu
- Wsparcie włączenia dodatkowych pól z możliwością generowania i wykorzystania ich wartości z innych pól. Na przykład możesz połączyć pole ean i inne.
- Obsługiwane są atrybuty produktu
- Możesz użyć funkcji warunkowych ifequal (warunki), zamień (zastąpienie)
- Główne pola istotne dostępne do generacji (z wyłączeniem pól dodatkowych). Możliwość ustawienia opisu produktu, metakluczy, metaopisu, tagów, tytułu i oczywiście h1 (jeśli jest dostępny).
- Duży filtr do generowania ustawień, w tym sklepu (multistore), statusów, producenta.
- Możliwość określenia konkretnych produktów (na podstawie filtra)
- Dla każdego pola możesz ustawić różne sposoby dodawania: Nic nie rób, Zamień puste, Dodaj najpierw, Dodaj na końcu, Nadpisz
- Dodatkowo dostępny jest tag [product_desc], który można wstawić w dowolnym miejscu. Pamiętaj, że jeśli typ zostanie dodany, tekst źródłowy zostanie zduplikowany (w miejscu określonym przez Ciebie i na początku/końcu, w zależności od typu)
- Złożone synonimy postaci {{param1.1|param1.2|param1.3}|{param2.1|param2.2}| param3}
- Kategoria nadrzędna jest obsługiwana, jeśli taka istnieje
- Pole [product_meta_h1] jest obsługiwane jeśli znajduje się w bazie danych
- Podczas generowania zapamiętywane są wszystkie ustawienia pary „Kategoria, Język”, dzięki czemu zawsze możesz łatwo kontynuować generowanie tekstów. Po wybraniu kategorii ustawienia zostaną automatycznie pobrane. Jeżeli dla kategorii zostały wcześniej zapisane ustawienia, to te ostatnie pozostaną w formie, co jest szczególnie przydatne przy sekwencyjnej nawigacji kategorii.
- Multilokalizacja/Wielojęzyczność - generuj teksty dla każdego języka osobno
- Wszystko odbywa się za pomocą Ajaxa (poza opcjami w Ustawieniach, ale zazwyczaj wystarczy je raz ustawić), więc nie trzeba ciągle czekać na ponowne uruchomienie (istotne dla różnych schematów generacji).
Szybkie szablony
Szybkie szablony umożliwiają na bieżąco ponowne definiowanie metatagów produktów i kategorii, takich jak tytuł, tytuł, h1 (jeśli jest dostępny), metaopis i meta słowa kluczowe dla każdego języka. A wszystko to można skonfigurować dosłownie w 5-10 minut.
Jest to szczególnie przydatne w przypadku lekkich i masowych aplikacji do generowania szablonów. Przykład,
„ [nazwa] [model] od [producent] za [cena] tylko u nas! ” w tytule produktu.
Należy pamiętać, że szablon nie nadpisuje danych z bazy danych.
Technicznie rzecz biorąc, szablony są stosowane na poziomie rdzenia opencart (standardowe modele produktów i kategorii), dzięki czemu dowolne moduły po stronie klienta, które korzystają ze standardowego modelu wyszukiwania danych, również „zobaczą” już wygenerowane metatagi.
Dla każdego pola możesz ustawić inny sposób dodawania: Nic nie rób, Zamień puste, Dodaj najpierw, Dodaj na końcu, Nadpisz.
Pola są automatycznie oczyszczane ze znaczników HTML i przycinane do 255 znaków.
Należy pamiętać, że jeśli pole nie zostanie wypełnione, a warunki będą takie, że nastąpi wymiana, zostanie wyświetlona pusta wartość. Przykładowo, jeżeli dla jednego języka ustawiony jest szablon w H1, a dla innego ustawiona jest pusta wartość i wybrany jest tryb „Nadpisz”, to w drugim języku H1 będzie pusty. Aby temu zapobiec (chyba, że trzeba coś dodać dla drugiego języka), dodaj wartość pola. W tym przypadku „[meta_h1]”. Tę opcję pozostawiono, ponieważ czasami może zaistnieć potrzeba tymczasowego i szybkiego opróżnienia pól (na przykład metaklucze zostały skopiowane i wymagają przetłumaczenia i dostosowania).
Dodatkowe pole z opisem produktu
Prawie każdy spotkał się z faktem, że czasami konieczne jest przechowywanie opisów produktów w dodatkowym polu (a może po prostu wygenerowanie tam tekstu SEO). Na przykład import i eksport.
Począwszy od wersji 1.7.0 moduł IMGeneratorSeo udostępnia tę opcję.
Jak wszystko jest ułożone.
1. W bazie danych tworzona jest osobna tabela, w której zapisywane jest to pole dla każdego produktu i jego języka.
2. Istnieje możliwość ręcznej edycji tego pola w karcie produktu.
3. W zakładce „Ustawienia” modułu możesz wybrać opcję wyświetlania opisu. Dostępne są 4 opcje: Z głównego, Z głównego + dodatkowe, Z dodatkowego + głównego, Z dodatkowego. Oznacza to, że możesz ustawić opcję wyświetlania w taki sposób, w jaki potrzebujesz.
A teraz najprzyjemniejsza część.
Jak wygenerować tekst w tym polu.
Wszystko jest bardzo proste. W zakładce „Produkty” pojawiła się rozwijana lista „Tabela z danymi”. Jeśli wybierzesz opcję „Podstawowy”, wówczas standardowe pola produktu zostaną wypełnione. W przypadku wybrania opcji „Dodatkowe” wypełnione zostanie TYLKO POLE Z DODATKOWYM OPISEM. Inne ustawienia nie mają żadnego wpływu.
Należy pamiętać, że to pole jest również zapisane w ustawieniach szablonu (lista „Tabela z danymi”).
NAJPIĘKNIEJSZE. Dostępna jest także cała funkcjonalność — funkcje, znaczniki, synonimy, atrybuty. Należy pamiętać, że wszystkie dane są pobierane wyłącznie z tabeli głównej. Jedyną rzeczą jest to, że pusty czek jest stosowany do dodatkowego pola (w przypadku „Zamień puste”).
Lista dostępnych tagów i zaawansowane funkcje generowania
{param1|param2|...} - synonim konstrukcji
Tagi: [id_produktu], [nazwa_produktu], [sku_produktu], [id_kategorii], [nazwa_kategorii], [id_manufactu], [nazwa_producenta], [tag_produktu], [meta_tytułu_produktu], [cena_produktu], [nazwa_modelu],
Oddzielnie o [product_desc] - (pozwala na użycie aktualnego opisu gdziekolwiek chcesz, ale bądź ostrożny przy ustawianiu typu zamiany)
Elementy sterujące „ Wybierz kategorię główną ” i „ użyj meta H1 ” - wpływają na generację tylko wtedy, gdy posiada je Twoja baza danych. Jeżeli w bazie nie ma H1 to [product_meta_h1] zostaje zastąpione pustą wartością. Zatem na czystym OpenCart te ustawienia nie mają żadnego wpływu, w ocStore są ważne. Jeżeli zostały dodane pola OpenCart to generacja nastąpi.
Atrybuty są obsługiwane podczas generowania. Ustawia się je według poniższego szablonu - [attr_%Nazwa atrybutu%] . Jeśli dla żadnego atrybutu nie ma produktu, to [attr_%Nazwa atrybutu%] będzie zamiast tego pusta (wszelkie konstrukcje w postaci [attr_%Some tekst%] zostaną zastąpione, ale tekst nie może zawierać symbolu „ ] ”). Abyś mógł tworzyć szablony bez obawy o brakujące atrybuty. Lista gotowych szablonów z atrybutami znajduje się na dole strony generowania.
Rozważ nazwy grup atrybutów
W trybie normalnym atrybuty są używane jako [attr_%Nazwa atrybutu%] , ale w niektórych przypadkach konieczne jest podanie szczegółowej nazwy grupy atrybutów. W tym przypadku wzorcem będzie [attr_%Attribute Group%_%Attribute Name%] .
Należy pamiętać, że zamiany szablonów odbywają się zgodnie z wybraną opcją. Przykładowo, jeśli w szablonach podałeś [attr_%Nazwa atrybutu%] i zdecydowałeś się na użycie nazw grup atrybutów, to konstrukcje nie zostaną zastąpione poprawnymi wartościami (dane konstrukcji nie zostaną w ogóle zastąpione, z wyjątkiem pustych wartości, ale zostaną zastąpione przez [attr_%Grupa atrybutów % _%Nazwa atrybutu%] , w odwrotnej sytuacji podejście jest podobne).
Automatyczne kopiowanie atrybutu do bufora podczas selekcji
Jeżeli opcja jest włączona, po wybraniu atrybutu z listy atrybutów wartość zostanie automatycznie skopiowana (z uwzględnieniem szablonu) do schowka.
Konieczne jest, aby przeglądarka obsługiwała możliwość kopiowania do schowka przez JS (wymagane: document.execCommand("Copy") i jQuery().select()).
Funkcje warunkowe
Aby włączyć funkcje warunkowe, należy wybrać pozycję „Użyj” na liście „ Użyj funkcji warunkowych ”. Domyślnie funkcje są wyłączone. Funkcje zagnieżdżone nie są obsługiwane.
Format funkcji warunkowych:
[[funkcja:nazwaFunkcja:param1:::param2:::param3]]
Gdzie
1. nameFunc - nazwa funkcji
2. param1 i inne to parametry. Separator :::
Zabronione kombinacje wewnątrz parametrów ]] i :::
Aby określić pusty ciąg znaków w parametrze, wystarczy wprowadzić ogranicznik 2 razy z rzędu.
Przykład:
[[funkcja:ifequal:1:::0::::::{param1|parametr2}]]
Funkcja ifequal porównuje pierwszy parametr z drugim w postaci ciągu znaków. Jeśli są zgodne, zamiast tego używany jest trzeci parametr, w przeciwnym razie używany jest czwarty parametr. Jeśli chcesz wyświetlić frazę tylko w przypadku dopasowania, możesz określić czwarty parametr.
Format funkcji ifequal to:
[[func:ifequal:leftValue:::rightValue:::equal:::notEqual]]
- leftValue - porównywana lewa wartość
-rightValue - porównywana właściwa wartość
- równe - wyświetlane, jeśli wartości się zgadzają
- notEqual - wyświetlany w przypadku niezgodności wartości
Podczas liczenia cech używane są wszystkie znaczniki, synonimy i atrybuty, dzięki czemu można tworzyć złożone kombinacje.
Przykładowa funkcja
[[func:ifequal:[product_id]:::42:::[product_id] - [product_name]:::{Super|Mega|Niesamowite|Mega niesamowite|Niezwykłe} produkt]]
Jeśli identyfikator produktu to 42, to wyświetl identyfikator i nazwę, w przeciwnym razie wybierz piękną frazę.
Format funkcji zamiany :
[[func:replace:ListSearch:::ListReplace:::Subject]]
- ListSearch - lista wyszukiwanych słów oddzielonych przecinkiem
- ListReplace — rozdzielona przecinkami lista pasujących zamienników
- Temat - linia wyjściowa
Wszystkie tagi (wzorce), synonimy i atrybuty są obsługiwane dla wszystkich parametrów.
Przykładowa funkcja
[[func:replace:Mój sklep, (23/7):::Mój super sklep, (24/7/365):::[product_meta_title]]]
Zmień nazwę sklepu i popraw błąd w numerze.
Dodatkowe pola do utworzenia
Ważne punkty:
- Obsługiwane są tylko tabele #product i #product_description , gdzie # jest prefiksem bazy danych.
- Istnienie pól w tabeli sprawdzane jest po otwarciu modułu. Jeżeli usunąłeś pole w bazie danych, należy ponownie załadować moduł (zakładka w przeglądarce).
- Należy pamiętać, że obcięcie o maksymalną liczbę znaków następuje bez zmian. To jest, jeśli masz 10-znakowe pole HTML i spróbujesz wpisać „<a href=”page1.html”>page1.html</a>”, w polu pojawi się „<a href=”p”. Należy również pamiętać, że znaki są znakami ucieczki, więc jeśli pole ma naprawdę 10 znaków, zostanie zapisane jeszcze mniej, a mianowicie „<a href” (na przykład „<” staje się „<”, a podwójne cudzysłowy stają się „”).
- Zwykłe pola tekstowe (jeśli wybrano ten typ) zostaną zastąpione wartościami wyczyszczonymi ze znaczników HTML. Możesz wpisać znacznik HTML w samym polu.
- Pola są automatycznie dodawane do list generacji w formacie [ac_%p lub pd%_%field%] . Na przykład, jeśli dodałeś pole ean do tabeli produktów , zostanie ono oznaczone tagiem [ac_p_ean] , a dla tabeli opis_produktu (zakładając, że dodałeś pole ean do tabeli) będzie to [ac_pd_ean] . Aby znacznik pola był dostępny należy dodać pole do modułu jako opcjonalne. Przykładowo, jeśli nie dodałeś ean , to konstrukcja [ac_p_ean] nie zostanie zastąpiona wartością pola.
- Obsługiwane są tylko pola z typami rozpoczynającymi się od CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT lub LONGTEXT (wielkość liter nie jest uwzględniana).
- Zduplikowane lub nieprawidłowo dodane pola są ignorowane. W przypadku pól powtarzających się za podstawę przyjmuje się pierwsze z nich.
- Standardowych pól w module nie można zmieniać.
- Pamiętaj, że jeśli wypełnisz pole w tabeli produktów , jest ono niezależne od języka. Oznacza to, że jeśli wygenerowałeś pole dla tych samych produktów, powiedzmy isbn , nadpisując najpierw w „Języku 1”, a następnie w „Języku 2”, wówczas dane będą pochodzić z „Języka 2”.
- Choć wydaje się to oczywiste, pamiętaj: „ więcej pól = dłuższa generacja ” (na przykład kilkanaście pól HTML z szablonami testowymi z grubsza podwoiło czas generowania na moim serwerze testowym; ale w tym celu zawsze istnieje możliwość wygenerowania fragmentów!).
Niektóre niuanse:
- Jeśli nazwa nie zostanie podana, wówczas zostanie podana nazwa składająca się z tabeli i kolumny. Przykład. ' p_ean ' gdzie p to tabela produktów , a ean to pole.
- Jeśli długość jest mniejsza lub równa 0, wartość nie jest obcinana przez długość.
- Puste pole długości oznacza 0.
- Nazwa pola jest wyczyszczona ze znaczników HTML.
Samo ustawienie:
W zakładce „ Parametry ”, w polu „ Dodatkowe kolumny do generowania ” pilnie ustawia się parametry dodatkowych kolumn. 1 wiersz = 1 pole .
Format zapisu (przez przecinek):
[%tabela%], [%pole%], [%typ edytora%], [%długość%], [%Nazwa%]
[%Tabela%] - p lub pd . Wartość p to tabela produktów , a pd to tabela opisu_produktu .
[%field%] - nazwa pola w tabeli.
[% Typ edytora %] - tekst, html i html_no_editor . Wartość tekstowa jest zwykłym polem tekstowym. Wartość HTML to pole z edytorem. Wartość html_no_editor to wielowierszowe pole tekstowe. Należy pamiętać, że w przypadku typu tekstowego wstawiane są dane oczyszczone ze znaczników HTML, chociaż samo pole może zawierać kod HTML.
[%Length%] to rozmiar pola. Dotyczy wszystkich typów pól. Należy jednak pamiętać, że podczas zapisywania znaków następuje ucieczka (patrz moment dotyczący znacznika).
[%Nazwa%] - nazwa wyświetlana obok pola edycyjnego. Jeśli nazwa nie zostanie podana, zostanie podana nazwa tabeli i kolumny. Przykład. p_ean , gdzie p to tabela, a ean to pole.
Możesz także dodać pola korzystając z kontrolek znajdujących się pod polem „ Dodatkowe kolumny do generowania ”.
Aby zastosować ustawienia, należy je zapisać.
Możesz wyłączyć sprawdzanie typu pola (char, varchar i inne), ale robisz to na własne ryzyko.
Aby to zrobić, zmień wartość IMGS_ADD_COLUMNS_CHECK_DATA_TYPE z 1 na 0 w pliku /system/IMGeneratorSeo/IMGeneratorSeoConfig.php .
Cechy
- Przed każdym użyciem modułu zaleca się wykonanie kopii zapasowej bazy danych, gdyż w trakcie generowania (nie szybkich szablonów) dane są zapisywane do bazy i nie ma możliwości przywrócenia poprzednich wartości. Aby je przywrócić, konieczne jest utworzenie kopii zapasowych bazy danych.
- Jeśli masz dużo produktów, szablony generowania są złożone, istnieje wiele atrybutów, a czas na skrypty php jest bardzo ograniczony, użyj generacji w częściach.
- Należy pamiętać, że nadpisywanie uwzględnia stare wartości. Jeśli chcesz nadpisać na podstawie wygenerowanych pól, najpierw je wygeneruj, a następnie ponownie użyj generatora.
- Dla pól standardowych. Wszędzie, poza opisem, podstawione są dane oczyszczone ze znaczników HTML.
- Pole SKU nie jest specyficzne dla języka, dlatego należy zachować ostrożność. Podobnie pola z tabeli produktów dodawane są jako dodatkowe.
- Dla pól standardowych. Pole Meta jest automatycznie obcinane do 255 znaków, a kod SKU do 64 znaków.
- Jeśli ręcznie dodawałeś pola do samego OpenCart lub poprzez moduły, pamiętaj, że musisz sprawdzić, czy pole meta_h1 pozwala na zmieszczenie 255 znaków (podobnie jak ocStore), a nie 100, jak w niektórych wersjach rozszerzeń. Jeśli jest mniej znaków, musisz zwiększyć rozmiar pola w phpMyAdmin. W przeciwnym razie mogą wystąpić błędy, jeśli rozmiar wstawki przekroczy bieżący rozmiar pola podczas generowania.
- Należy pamiętać, że jeśli wewnątrz tagów znajduje się kod HTML, tagi mogą zostać błędnie odczytane przez moduł. Moduł zastępuje tylko dokładne dopasowania. Na przykład „[attr_test]” jest atrybutem, a „<span>[</span>attr_test]” nie jest atrybutem. Odpowiednio, jeśli masz sytuację, w której tag wydaje się być dodany, ale nie zastąpiony, sprawdź także kod HTML.
Funkcjonalność dodatkowego pola opisu przystosowana jest do wykorzystania standardowych modeli kart otwartych. - Kopiowanie atrybutów do schowka wymaga, aby przeglądarka obsługiwała możliwość kopiowania do schowka przez JS (wymagane: document.execCommand("Copy") i jQuery().select()).
- Od wersji 1.8.0 inne podejście do atrybutów - proszę to rozważyć.
- W ustawieniach witryny musisz ustawić mbstring.func_overload na 0. Jeśli nie wiesz jak to zrobić, skontaktuj się ze swoim hostingiem. W większości przypadków domyślną wartością jest 0 (ty jako klient nie musisz nic robić), ale niektóre hostingi ustawiają wartość na 2. Ma to znaczenie w przypadkach, gdy masz problemy z kluczami i aktywacją modułu.
- Wymaga boostrapu i jquery
Instalacja i użytkowanie
0. Zrób kopię zapasową strony - To standardowe zalecenie na każdą sytuację, gdy zmieniasz lub poprawiasz coś na stronie, co pozwala zaoszczędzić dużo czasu, wysiłku i nerwów.
1. Rozpakuj archiwum i skopiuj katalogi „admin” i „system” do katalogu głównego witryny. Nie martw się, żadne pliki nie zostaną nadpisane
2. Otwórz okno administratora i zainstaluj moduł (zainstaluj ponownie)
3. Otwórz Instalatora rozszerzeń i pobierz kolejno pliki „im_gen_seo_templates.ocmod.zip” i „im_gen_seo_product_info.ocmod.zip”. Następnie zaktualizuj modyfikatory. Jeśli ponownie instalujesz moduły (wymienione wersje), musisz usunąć poprzednie modyfikatory.
4. Może być konieczne wyczyszczenie pamięci podręcznej twig w panelu administracyjnym
5. Otwórz moduł (edycja) w panelu administracyjnym i użyj go.
Od wersji 1.8.0 inne podejście do atrybutów - rozważ to!
Dla tych, którzy nie mieli wcześniej styczności z pokoleniem
Przede wszystkim powinieneś zrozumieć, że generowanie tekstu wymaga staranności, dokładności, odpoczynku i tworzenia kopii zapasowych danych. Konkluzja jest taka, że generator to potężne narzędzie, które pozwala osiągnąć świetny efekt (zwiększenie pozycji i ruchu, zwiększenie konwersji/sprzedaży itp.) i doprowadzić do odwrotnego efektu (porzucenie stron ze zbyt podobnymi szablonami, zmniejszenie pozycji , stosując filtry). Dlatego przy jego użyciu nie można nic zrobić pochopnie.
Przed użyciem warto zapoznać się z kilkoma podstawowymi podstawami. Zacznij od przeczytania materiałów w Internecie na temat „Reprodukcja artykułów”. Jak to się robi. Dlaczego jest to konieczne? Jak takie artykuły są oceniane przez wyszukiwarki. Czym różni się opis produktu od opisu artykułu. Nie trzeba zagłębiać się w szczegóły, warto jednak poznać podstawy przynajmniej na poziomie zwykłego użytkownika.
Po przeczytaniu podstaw nie próbuj generować całej witryny. Zacznij od pojedynczych produktów lub małych kategorii. Zobacz jak to wygląda i jak teksty są oceniane przez weryfikatorów antyplagiatowych (jest wiele darmowych programów i usług np. na giełdach praw autorskich).
Od czego zacząć pierwszą generację.
1. Pamiętaj o utworzeniu kopii zapasowej bazy danych.
2. Obecnie istnieje niesamowita liczba sklepów internetowych. Dlatego znajdź analogię do opisu dowolnego produktu. Przepisz artykuł swoimi przemyśleniami, aby esencja była taka sama, ale artykuł nie był podobny. Zamień słowa. Przepisać zdania. Zmień fragmenty (frazy, akapity).
3. Następnie znajdź miejsca, które można pomnożyć (np. {Wszechstronny|Wielofunkcyjny|Niesamowity}) lub odwrotnie, weź z atrybutów i pól (Producent [nazwa_producenta] produkuje doskonały produkt. Jego akumulatory o mocy [attr_Power] są sławne. ..). I utwórz szablon.
4. Wykonaj pierwszą generację. Dokładnie sprawdź wszystkie ustawienia, które ustawiłeś i spróbuj wyobrazić sobie, jakie teksty będą na wyjściu (aby uniknąć sytuacji, w której wynik z poprzedniej generacji zostanie Ci odebrany podczas ponownej generacji). Oceń, jak bardzo różnią się te teksty. I dostosuj szablon, aż teksty zaczną mieć co najmniej 80% niepowtarzalności.
W tym czasie nauczysz się tworzyć szablony. Następnie możesz przejść do reszty asortymentu na stronie internetowej. Ważne jest, aby zrozumieć, że pierwsze szablony będą tworzone przez długi czas, ale kolejne są pisane dość szybko, a ręczne komponowanie tekstów zajmowało o rząd wielkości więcej czasu.
Licencja i użytkowanie
Wykonane dla OpenCart 3.0.1.1, 3.0.2.0, 3.0.3.0, 3.0.3.1-3.0.3.8, ocStore 3.0.2.0, 3.0.3.7
Kupując moduł automatycznie wyrażasz zgodę na treść licencji.
Moduł działa na zasadzie dystrybucji „tak jak jest”.
Funkcje dodatku
Nie ma żadnych pytań dotyczących tego produktu.