Kategorie: E-shopy

Přechod e-shopu Smrtihlav.cz ze Zencart na Opencart

E-shop Smrtihlav.cz, provozovaný od roku 2005 v systému Zencart prošel přechodem na systém Opencart. Samotná konverze dat, včetně různých korekcí konverzního softwaru trvala asi 4 hodiny. Více než dvojnásobek času obnášelo překlopení šablony vzhledu, které se nakonec dostalo nového vzhledu. Výrobu šablony včetně vzhledu jsem provedl bez pomoci grafika, vzhled tedy není profesionální. Jestliže je požadován profi vzhled, potom zapojuji některého grafika, což znamená min. 6 000  Kč za výrobu samotné grafiky, a dále je nutno připočíst cenu implementace vzhledu do e-shopu. Obrázek v záhlaví pochází z Flickr.com, autor umožňuje komerční použití i modifikaci, v obrázku je tedy decentně ukryto i označení autora fotografie.

V převáděném e-shopu nejsou žádné „speciality“, jsou jen ukryty některé funkcionality, jako je např. Seznam přání, Slevové kupóny atd. Když tedy odmyslíme řadu různých modifikací prostřednictvím Override Engine, velmi užitečné je např. cachování seznamu kategorií včetně počtu produktů, náhodně vybírané produkty při vstupu do kategorie obsahující podkategorie apod. Při přechodu musíme také myslet na to, že ve vyhledávačích zůstávají indexované stránky pod původními adresami, které v Opencart vypadají jinak. Např.

http://www.smrtihlav.cz/kalhoty-bdu-potisk-camo-vz95-p-1456.html (Zencart)
http://www.smrtihlav.cz/camo-vz-95/kalhoty-bdu-potisk-camo-vz-95 (Opencart)

V Opencartu jsem tedy doplnil funkci, která umí starší odkazy přesměrovat na správné produkty v novém e-shopu.

Smrtihlav.cz Zencart

Smrtihlav.cz Zencart

Smrtihlav.cz Opencart

Smrtihlav.cz Opencart

Modifikace Opencart

Když běžný uživatel – obsluha administrační části poprvé vstoupí do administrace Opencart, potřebuje výpis zboží podle kategorií stejně jako v Zencart. Opencart však tuto možnost nemá. Potřebujeme tedy tuto funkcionalitu doprogramovat. Bohužel Opencart nemá takový systém pluginů jako např. WordPress, pro Opencart existuje modifikační systém vQmod, který pracuje na principu nahrazování částí původního PHP kódu. Nejprve je nutné najít v původním kódo požadovaný řádek nebo místo, kde potřebujeme implementovat novou funkcionalitu. Potom speciálním zápisem definujeme náhradu kódu prostřednictvím XML souboru – to je záležitost pro masochisty.

Naštěstí existuje Override Engine, kde jednoduše definujeme potomka existující PHP třídy a vložíme proceduru či funkci, která nahrazuje původní. Toto je pohodlné a efektivní. Zde je příklad provedené modifikace pro výpis produktů podle kategorií a řada dalších úprav, které umožní efektivnější správu produktů, rychlé úpravy cen, řazení do multistorů, nastavení filtrů apod.

modifikace-opencart

Přechod ze systému Zencart na Opencart

Je jistě zajímavá skutečnost, že doposud nemalé množství e-shopů udržuji v systému Zencart. Struktura zdrojového kódu je proti dnešním systémů doslova guláš a modifikace bývaly někdy ukrutné. Po předchozích testech Magento e-shopu jsem došel k systému Opencart. Jeho MVC struktura je velmi přehledná a za určitých okolností umožňuje rozsáhlé modifikace funkcí bez zásahu do originálního kódu – o tom někdy později.

Nastal tedy okamžik, kdy máme celkově tisíce položek v různých e-shopech na Zencartu a nebylo reálné toto ručně překlopit do e-shopu na jiné platformě. Po rozboru struktury databáze Opencart jsem vytvořil konverzní software, který převede kompletní obsah, tedy produkty, atributy, kategorie a samozřejmě i registrované zákazníky a jejich objednávky do databáze Opencart. Zákazníci se přihlašují původními údaji.