Blog

2016-09-12 14:58

Sklep Drupal Commerce vs Ubercart

Gapper agencja - Drupal eCommerce

Drupal 7 jako jeden z najpopularniejszych systemów zarządzania treścią na świecie daje nam możliwość zaimplementowania sklepu internetowego na naszej witrynie. Obecnie w tej dziedzinie mamy do wyboru dwa wiodące moduły z otwartym kodem źródłowym – Drupal Commerce oraz Ubercart. Niezależnie od tego co chcemy sprzedawać, czy transakcje będą dotyczyć tylko jednego przedmiotu czy też wielu, w przypadku rozbudowanej platformy e-Commerce, przed przystąpieniem do działania warto przeanalizować z osobna oba moduły.

Który moduł wybrać?

Z pewnością wielu początkujących w tej dziedzinie programistów Drupala zadawało sobie to pytanie. Starsi stażem z pewnością znają moduł Ubercart, który był już dostępny przy 5tej wersji Drupala. Pomimo, że wciąż jest rozwijany i dostępny w wersji alfa dla Drupala 8, wiele z jego komponentów zatrzymało się na Drupalu 6 i nie zostało dalej zaktualizowanych. W internecie można spotkać się z wieloma stwierdzeniami, że Drupal 6 i Ubercart to idealny wybór. Drupal 7 również z powodzeniem z nim współpracuje, lecz konieczne jest stosowanie innych komponentów w postaci dodatkowych modułów zastępujących w pewnym stopniu te z poprzednich wersji.

W porównaniu z nim, moduł Drupal Commerce jest stosunkowo młody ponieważ pojawił się dopiero dla Drupala 7.Warto zaznaczyć, że część osób odpowiedzialnych za jego powstanie to byli członkowie zespołu pracującego przy Ubercart. W internecie możemy znaleźć bogatą dokumentację na jego temat oraz bardzo pomocne materiały wideo, które z pewnością pomogą zaznajomić się z jego możliwościami (szczególnie programistom przyzwyczajonym do Ubercart – wiele podstawowych procedur podczas tworzenia sklepu odbywa się w inny sposób).

Oba moduły oferują nam standardowe funkcjonalności m.in. takie jak tworzenie produktów i ich atrybutów, wybór walut, określenie podatków i rabatów, koszyk oraz metody płatności i wysyłki. Pomimo podobieństw na pierwszy rzut oka, istnieją zasadnicze różnice pod względem dostępnych opcji zarówno od strony programisty jak i sprzedawcy, który z programowaniem zazwyczaj ma niewiele wspólnego.

Instalacja i konfiguracja

Instalacja modułów przebiega standardowo jak w przypadku każdego innego modułu dla Drupala 7. Zarówno Drupal Commerce jak i Ubercart korzystają z podstawowych rozwiązań dostępnych w Drupalu takich jak content, taxonomy czy views. Po zainstalowaniu modułu możemy przejść do konfiguracji sklepu. Pod tym względem Ubercart jest bardziej oprogramowaniem typu „out of box” niż Drupal Commerce. Programista może być zdziwiony gdy po skończonej instalacji Drupal Commerce nie znajdzie zaimplementowanych opcji dotyczących metody płatności czy wysyłki – nawet tych podstawowych. Wymaga to zainstalowania dodatkowych modułów.
Ubercart po zainstalowaniu jest od razu gotowy do działania (przynajmniej w podstawowym stopniu). Wystarczy uzupełnić informacje o naszym sklepie, dodać metody płatności i wysyłki oraz dodać produkty. Wszystkie czynności są orientacyjne i nie powinny sprawić problemu nawet początkującemu programiście.
Konfiguracja modułu Drupal Commerce może być mniej orientacyjna, lecz jego twórcy wyszli naprzeciw programistom i udostępnili zestaw startowy (Commerce Kickstarter). Posiada własny kreator, który przeprowadzi nas przez wszystkie kroki konfiguracji. W końcowym efekcie otrzymujemy zainstalowanego Drupala 7 + Drupal Commerce ze wszystkimi wymaganymi modułami. Zainstalowana zostanie także dodatkowa skórka oraz dodatkowe moduły, których nie znajdziemy w podstawowej wersji Drupal Commerce. Podczas instalacji możemy także wybrać dodatkową opcję, która umożliwia dołączenie wersji demo sklepu internetowego z przykładowymi produktami i możliwościami jakie daje nam Drupal Commerce. Na pewno jest to ułatwienie konfiguracji sklepu, lecz z punktu widzenia programistycznego instalujemy wiele dodatków, których najpewniej wcale nie użyjemy, a będą one zajmować zarówno miejsce w bazie danych jak i na serwerze, spowalniając działanie naszego sklepu. Wersja demo dostępna jest również online, dlatego po zdecydowaniu się na ten moduł lepiej zainstalować jego podstawową wersję i rozszerzać ją tylko o te funkcjonalności, których chcemy używać.

Dodawanie produktów

W obu przypadkach produkty tworzone są w oparciu o content type, lecz z pewnymi różnicami.
W module Ubercart standardowo mamy utworzoną jedną klasę produktu którą reprezentuje content type o nazwie product. Warto dla grup produktów różniących się np. wysokością podatku utworzyć osobne klasy – ułatwi to ich zarządzaniem. Dodając produkt tworzymy content, który możemy wzbogacić o dowolne pola wzbogacające opis produktów. Każdy produkt może posiadać atrybuty dostępne z ogólnej listy dostępnej dla wszystkich produktów (np. kolor lub rozmiar).
Drupal Commerce posiada inne rozwiązanie. Każdy produkt opiera się o dwa content type'y. Pierwszy z nich odpowiada za wariant produktu, drugi za jego wyświetlenie. Przykładowo sprzedając koszulki w dwóch rozmiarach (S, M) oraz dwóch wariantach kolorystycznych (niebieski i czerwony) musimy utworzyć najpierw cztery warianty, czyli cztery content'y (niebieski + S, niebieski + M, czerwony + S , czerwony + M). Następnie każdy wariant (content) na podstawie numeru SKU (ang. Stock Keeping Units) musimy dołączyć do kolejnego contentu odpowiadającego za jego wyświetlenie.

Jak widać w przypadku Ubercart czynność jest znacznie uproszczona i zajmuje mniej pamięci. Również dla osoby zarządzającej sklepem ta opcja będzie bardziej przystępna. Na korzyść Drupal Commerce w przypadku sprzedaży przedmiotów, których warianty różnią się zdjęciem, możemy do każdego wariantu dodać inne zdjęcia, które będą wyświetlane tylko dla niego. Ubercart posiada opcję wyświetlenia zdjęć na podstawie atrybutu, lecz za pomocą dodatkowego modułu (obecnie w wersji beta). Oczywiście problem możemy rozwiązać poprzez inne rozwiązania które oferuje nam Drupal, ale jednak w Drupal Commerce rozwiązanie mamy od razu podane na tacy.

Koszyk

Konfiguracja interfejsu dla koszyka w module Drupal Commerce jest znacznie łatwiejsza niż w Ubercart, gdyż nie musimy ingerować w kod modułu. Koszyk oparty jest o moduł Views, dzięki czemu możemy w nim wyświetlić wszystkie interesujące nas pola w przystępny sposób. Możemy go także wyświetlić na kilka sposobów np. jako podglądowy koszyk rozwijany z rogu ekranu oraz pełne podsumowanie przed zrealizowaniem zamówienia. Ubercart także pozwala na edycję koszyka, lecz wymagana jest do tego podstawowa znajomość chociażby języka PHP aby swobodnie ingerować w kod modułu. Początkującym użytkownikom Drupala na pewno łatwiej będzie skonfigurować koszyk pod swoje wymagania korzystając z Drupal Commerce, lecz zamknięcie się na moduł views w pewnym momencie może stanowić ograniczenie, które ostatecznie i tak będzie trzeba rozwiązać poprzez własne moduły. Jeżeli interesują nas tylko podstawowe opcje jak nazwa produktu, cena i zdjęcie to oba moduły dadzą nam w standardzie podobne rozwiązania.

Podatek Vat oraz promocje

Podając ceny w polskim sklepie internetowym należy pamiętać, że cenę podajemy razem z podatkiem Vat. Zarówno Drupal Commerce jak i Ubercart umożliwia ustawienie wysokości podatku (zarówno dla indywidualnego produktu jak i grupy produktów). W przypadku Drupal Commerce dodajemy nowy podatek (ang. tax) i zaznaczamy w produkcie, że jego cena obejmuje ten podatek. Ubercart podchodzi do sprawy trochę inaczej. Po zainstalowaniu podstawowego modułu mamy możliwość dodania podatku, lecz zostaje on doliczony do ceny którą wpisaliśmy przy tworzeniu produktu. W skórcie: w Drupal Commerce podajemy cenę brutto, a w Ubercart netto. Może to być mylące, dlatego jeżeli zdecydujemy się na Ubercart warto zainstalować dodatkowy moduł, który wlicza podatek do ceny produktu.

W obu modułach możemy ustalać ceny promocyjne, obniżki w zależności od ilości zakupionych przedmiotów lub bony rabatowe. W podstawie znajdziemy możliwość obniżki cen dla produktów, lecz jeżeli chcemy tworzyć bardziej rozbudowane promocje, zarówno dla Drupal Commerce jak i Ubercart mamy do wyboru kilka dodatkowych modułów.

Płatności

Jako, że obecnie nie wyobrażamy sobie zakupów przez internet bez możliwości natychmiastowej zapłaty, mamy do wyboru wiele dodatkowych modułów umożliwiających płatności m.in. przez PayPal, karty kredytowe lub standardowy przelew pocztowy. Oba moduły są dobrze wyposażone w tej dziedzinie. Musimy liczyć się z tym, że płatności te będą obsługiwane przez zagraniczne serwisy. Jeżeli tworzymy polski sklep, możemy nie znaleźć serwisów, których oczekuje nasz klient. W przypadku Drupal Commerce istnieje moduł powiązany z PayU, lecz nie jest on w wersji stabilnej (od 2012 roku).

Wysyłka

Drupal Commerce i Ubercart pozwala na utworzenie własnych opcji wysyłki oraz warunków korzystania z nich (np. w zależności od wagi, ilości przedmiotów czy miejsca zamieszkania). Odbywa się to w przystępny sposób, lecz tak jak w przypadku płatności, w module Drupal Commerce nie znajdziemy opcji wysyłki w podstawowym module. Poza tym dodatkowe moduły łatwo skonfigurować.
Oba moduły wspierają wysyłkę przez UPS. Dzięki dodatkowemu modułowi możemy wyliczyć cenę przesyłki dla każdego klienta. Drupal Commerce posiada także moduł wyliczający przesyłkę przez DHL, które Ubercart nie posiada. Odnośnie DHL, w obu przypadkach brakuje możliwości zamówienia kuriera po odebranie przesyłki, co byłoby znacznym ułatwieniem dla sprzedawcy.

Zamówienia

Ubercart posiada szczegółowy opis wszystkich zamówień (zarówno zrealizowanych jak i tych porzuconych). Osoba kupująca może zostawić komentarz do zamówienia, na który sprzedawca może odpowiedzieć. Dane kupującego dzielą się na dane osoby zamawiającej, na którą ma być wystawiony rachunek oraz na dane do dostarczenia przesyłki. Sprzedający może wygenerować fakturę na podstawie podstawowego szablonu (lub też własnego po zainstalowaniu dodatkowego modułu), którą może od razu wydrukować lub zapisać w formacie PDF.
Drupal Commerce posiada mniej rozbudowany system zamówień. Dane klienta w podstawie ograniczają się do pojedynczej kolumny z informacjami o zamawiającym. Opis zamówienia jest lekko okrojony w porównaniu z Ubercart. Po zainstalowaniu Drupal Commerce nie znajdziemy także opcji wystawienia faktury, co można uznać za jedną z podstawowych funkcjonalności sklepu.

Potwierdzenie zamówienia

Po zakończonym zamówieniu zarówno w Drupal Commerce jak i Ubercart klient oraz sprzedający dostają wiadomość poprzez e-mail o złożonym zamówieniu. Wiadomości możemy konfigurować pod wymagania sklepu. Możemy je wzbogacić o kod HTML oraz wewnętrzne style poprzez dodatkowe moduły. W Drupal Commerce edycja wiadomości następuje przez panel administracyjny Drupala, w przypadku Ubercart edytujemy pliki szablonu znajdujące się w folderze z modułem.

Podsumowanie

Przeanalizowaliśmy podstawowe etapy występujące dla obu modułów. Oba z nich umożliwiają nam prowadzenie sklepu internetowego. Zatem który z nich wybrać? Wszystko zależy od indywidualnych preferencji oraz zdolności programisty. Zanim odrzucimy jedną z opcji, warto zainstalować obie i poznać je oddzielnie.

Drupal Commerce

Ubercart

+ kreator instalacji oraz możliwość zapoznania się z wersją demo;

+ podstawowa skórka z przystępnym interfejsem użytkownika;

+ open source;

+ większość koniecznych zmian można dokonać z poziomu panelu administracyjnego Drupala;

+ złożony system wariantów, daje dużo możliwości;

+ koszyk oparty o moduł Views;

+ cena produktu podawana jako cena Brutto;

+ dużo dodatkowych modułów;

+/- bardziej rozbudowany, ale trudniejszy w konfiguracji od podstaw

 

- mniej wydajny pod względem zajmowanej pamięci, wolniejszy niż Ubercart;

- pierwsza wersja dostępna dla Drupala 7, nie występuje we wcześniejszych wersjach, które dalej są używane pomimo minionych lat;

- brak podstawowych funkcjonalności w podstawowej wersji modułu, wiele opcji wymaga dodatkowych instalacji;

+ łatwy w zaimplementowaniu do działającej witryny;

+ mniej rozbudowany, ale łatwiejszy w konfiguracji;

+ open source;

+ bogatszy w podstawowej wersji, bardziej „out of box” niż Drupal Commerce;

+ produkt jako pojedynczy content;

+ prosty system atrybutów/wariantów;

+ wydajny pod względem zajmowanej pamięci;

+ pierwsza wersja dostępna dla Drupala 5;

 

+/- dużo dodatkowych modułów, lecz wiele z nich zatrzymało się na wczesniejszych wersjach Drupala i nie zostało zaktualizowanych;

 

- wiele zmian wymaga ingerencji w kod modułu;

- świeżo zainstalowany moduł nie wprowadza interfejsu użytkownika, koszyk oraz reszta etapów składania zamówienia są niesformatowane lub są ale na bardzo niskim poziomie;

- cena produktu podawana jako cena Netto – może być to mylące dla polskich użytkowników;

Każdego dnia robimy zwykłe rzeczy niezwykle dobrze,
bo jak coś robić, to robić to najlepiej.

Skontaktuj się z nami

14 + 4 =