Author Archive tomasz

Bytomasz

Strony internetowe firmy lokalnej – serwis AGD

Dla naszego Klienta lokalnego usługodawcy serwisu i napraw sprzętu AGD zrealizowaliśmy dwie strony internetowe z dużym naciskiem na pozycjonowanie w wyszukiwarce Google. Trudniejszym elementem było napisanie dedykowanej wtyczki WordPress realizującej funkcjonalność formularza zgłoszeń usterki/awarii sprzętu AGD z możliwością wyboru objawów usterki z listy, konfigurowalną z poziomu administratora WordPress.

Strona internetowa lokalnego usługodawcy - wąski asortyment usług

Strona internetowa lokalnego usługodawcy – wąski asortyment usług

Strona internetowa lokalnego usługodawcy - szerszy asortyment usług

Strona internetowa lokalnego usługodawcy – szerszy asortyment usług

Strona internetowa lokalnego usługodawcy - szerszy asortyment usług

Strona internetowa lokalnego usługodawcy – szerszy asortyment usług

Bytomasz

Platforma rozgrywek sieciowych – gry przeglądarkowe

Platforma rozgrywek sieciowych to aplikacja internetowa, pozwalająca użytkownikom na przeprowadzanie rozgrywek 1:1 w wybranych przez nich grach sieciowych (przeglądarkowych). Możliwe jest integrowanie z platformą dowolnej ilości gier dla dwu graczy.

Częścią zadania było zaprojektowanie i stworzenie ogólnego interfejsu integracyjnego gra-platforma, refaktoryzacja i przepisanie istniejącej już gry oraz wykonanie szeregu niezbędnych ogólnych mechanizmów wspierających gry sieciowe, jak np. asynchroniczne ładowanie artefaktów (tła, dźwięki, postacie itp.), wyłanianie zwycięzcy, prezentacja wyników itp. Celem platformy jest rejestrować graczy i umożliwiać im nawiązanie kontaktu i zrealizowanie rozgrywki, jak również dostępny w pewnych momentach prywatny lub publiczny chat do wymiany uwag na temat gier/rozgrywek.

Platforma została zrealizowana za pomocą języków i technologii: Javascript, AngularJS, jQuery, PHP, MySQL, JSON-RPC.

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Platforma do gier przeglądarkowych

Bytomasz

Optymalizacja OnePageCheckout w Prestashop 1.6.*.*

Dla naszego Klienta wykonaliśmy optymalizację jednostronicowego formularza finalizowania zamówienia w sklepie Prestashop (tzw. OnePageCheckout czyli „zakupy na jednej stronie”) w zakresie:
– zmiany ułożenia pól,
– dodatkowej walidacji pól,
– modyfikacji widoczności pól,
– dodania pola typu checkbox ‚Chcę otrzymać fakturę VAT’,
– rozmieszczenia adresu do faktury obok adresu do wysyłki i stylizacji responsywnej,
– innych.

Zmiany wymagały edycji kontrolera OrderOpcController (OrderOpcController.php), kodu javascript order-opc.js, szablonu order-opc.tpl i innych (łącznie 14 plików).

Optymalizacja formularza finalizowania zamówienia ma na celu powiększenie ergonomii, intuicyjności i komunikatywności w procesie finalizowania zamówienia. Poprawnie wykonana powinna zwiększyć stosunek złożonych zamówień do wypełnionych koszyków (zmniejszyć ilość porzuconych koszyków). Statystyki przypadków pokazują także, że 80% podstawowych zmian optymalizacyjnych ergonomii procesu finalizacji zamówienia może prowadzić do wzrostu średniej wielkości zamówienia o 20%.

W razie zainteresowania zapraszamy do kontaktu: tomasz@programistaphp.com.pl.

Więcej: Programista Prestashop

Bytomasz

Naprawa pluginu ShopAppsGoogleTracking integracji Prestashop z Google Analytics Commerce

Dla naszego Klienta naprawiliśmy wadliwie działający plugin ShopAppsGoogleTracking, integrujący Prestashop z Google Analytics Commerce (rejestracja transakcji oraz sprzedanego asortymentu). Z daną wersją sklepu Prestashop, po aktualizacjach, plugin przestał rejestrować transakcje.

W razie zainteresowania zapraszamy do kontaktu tomasz@programistaphp.com.pl.

Więcej: Programista Prestashop

Bytomasz

Prestashop – funkcja Product::deleteCategories() czyści za wiele …..

W trakcie realizacji mechanizmu automatycznego importu produktów do sklepu Prestashop, a szczególnie w przypadku realizacji go z mechanizmem aktualizacji istniejących rekordów (a nie usuwania wszystkich produktów i ponownego ich dodania) zachodzi potrzeba ew. skorygowania do których kategorii produkt należy. Jeśli mamy unikalny identyfikator produktu jak np. nr referencyjny/indeks/kod produktu, możemy odnaleźć produkt w bazie danych a następnie usunąć kategorie do których jest przypisany.

Usuwanie kategorii, do których produkt jest przypisany uzyskujemy wołaniem funkcji Product::deleteCategories($clean_positions = false).

Notację użyłem zwodniczą, ponieważ funkcja ta nie jest funkcją statyczną i można ją wywołać tylko mając utworzony obiekt klasy Product.

$product = new Product($id);
$product->deleteCategories(true);

Pułapka tkwi w parametrze wywołania $clean_positions. Jeśli wywołamy funkcję z parametrem true, funkcja ta dodatkowo będzie wewnątrz wołać inną funkcję cleanPositions(), która w założeniu porządkuje pozycje produktów w kategoriach.

W praktyce, oprócz tego, że jest bardzo czasochłonna, to porządkuje za wiele. Nie wiem, jak dalej będzie wyglądać ten problem, ale w przypadku Prestashop 1.6.1.5 wywołanie takie po prostu usuwało przypisania produktów do kategorii….

Ostrzegam!

Pozdrowienia,

Więcej: Programista Prestashop

Bytomasz

Dedykowany moduł sprzedaży wiązanej (custom cross-selling)

Korzyści z cross-sellingu

Częstą potrzebą w sklepach internetowych jest prezentowanie na karcie produktu produktów powiązanych. Mogą to być produkty z tej samej kategorii, produkty z tej samej serii, produkty komplementarne (jak np. żarówki do lamp, spodnie do koszul o tym samym kolorze i z tego samego materiału) i będące w innej relacji. Ułatwia to użytkownikowi nawigację, informuje go o produktach powiązanych, skraca czas złożenia zamówienia, więc w rezultacie ma to wpływ na zwiększenie sprzedaży w sklepie.

Prestashop oferuje standardowe moduły prezentujące inne produkty z tej samej kategorii, czy też produkty powiązane ręcznie za pomocą narzędzia w panelu administracyjnym. Istnieją też płatne moduły o większych możliwościach.

Swoboda dedykowanego algorytmu

Duża różnorodność typu relacji w połączeniu z bardzo licznym asortymentem stwarza potrzebę swobodnego kształtowania algorytmu doboru produktów powiązanych, co niekoniecznie może być możliwe do zrealizowania za pomocą gotowych, w dużym stopniu konfigurowalnych, jednakże w pewien sposób ograniczonych modułów gotowych.

Aby wyjść naprzeciw tym wymaganiom, stworzyliśmy autorski moduł, który może zostać swobodnie dostosowany do charakteru relacji prezentowanego produktu, z produktami powiązanymi.

W razie zainteresowania zapraszam do kontaktu tomasz@programistaphp.com.pl.

Więcej: Programista Prestashop

Bytomasz

Porównywanie dwóch dat w Javascript

Treść w opracowaniu.

Szukasz programisty javascript? Zobacz propozycję Programista Javascript

Bytomasz

Dodatkowe pola zamówienia w Prestashop

Celem tego artykułu jest przybliżenie sposobu, w jaki można zaprogramować obsługę dodatkowych pól zamówienia w sklepie Prestashop. Artykuł powstawał w trakcie realizacji zadań na wersji 1.6.1.4.

Prestashop umożliwia dodanie dodatkowych pól do poszczególnych produktów ale niestety nie udostępnia takiej możliwości w przypadku zamówienia.

Ale po co?

Read More

Bytomasz

Prestashop vs WooCommerce

Internet jest od dawna znaczącym kanałem sprzedaży. Daje on szansę małym firmom nie posiadającym przewagi konkurencyjnej np. kapitałowej rozpocząć biznes i ew. rozwinąć go także o gałęzie sprzedaży czy dystrybucji klasycznej, czego jest trochę przykładów na sukces (parę znanych sieci w Polsce).

Na początek najważniejsza jest minimalizacja kosztów więc oczywiście rozpoczynający działania biznesmeni rozważają uruchomienie sklepów internetowych z użyciem jednego z wielu darmowych skryptów, zwłaszcza w technologii PHP/MySQL (dostępność stabilnych hostingów w atrakcyjnej cenie).

Na obecną chwilę bardzo dużą popularność zyskał WordPress, będący systemem CMS rozszerzalnym o dodatkowe wtyczki. Siłą rzeczy pojawiły się wtyczki do biznesu, m.in. WooCommerce. Jest to ciekawe zjawisko, ponieważ wcześniej popularnym CMSem była Joomla, która także miała rozwiązania sklepowe jak np. VirtueMart. Niemniej koncepcja WordPressa spowodowała lawinowo rosnącą jego popularność i zainteresowanie wtyczkami e-commerce.

W międzyczasie powstało sporo rozwiązań sklepowych stand-alone jak np. Prestashop, spory czas rozwijanych i przebudowywanych.

Obecnie często padającym pytaniem jest – co wybrać – WooCommerce czy Prestashop.

Postaram się krótko odnieść do tego pytania. Nie będę jednak poświęcał wiele czasu na porównywanie funkcjonalności ale spojrzę na zagadnienie z punktu widzenia:

  • architekta biznesu
  • programisty
  • menedżera

WooCommerce czy Prestashop – okiem architekta e-biznesu

WooCommerce jest wtyczką do WordPressa. Jeśli planujemy nasz sklep/rozwiązanie e-commerce poszerzać o funkcje społecznościowe, np. forum porad na temat naszych produktów, moduł społecznościowy, profile użytkowników, mnóstwo bajeranckich gadżetów itp. to bez wątpienia lepszą drogą jest WordPress+WooCommerce. Napewno jednak zderzymy się z problemami związanymi z małą stabilnością i dopracowaniem wtyczek WordPressa czy WooCommerce jak również z ich współpracą – sprawdzajmy czy wybrane przez nas wtyczki współpracują ze sobą i w jakiej wersji. Nie wszystko złoto co się świeci.

Natomiast jeśli planujemy po prostu mieć sklep – katalog produktów, koszyk itp i nie wyjść za daleko – tutaj bez wątpienia lepszym wyborem jest Prestashop. Już na start oferuje porządną stabilną paczkę. Poblemy mogą być z wydajnością.

WooCommerce czy Prestashop – okiem programisty

Patrząc okiem programisty na oba rozwiązania, to napewno środowisko uruchomieniowe CMS WordPress oferuje łatwiej przyswajalną prostotę poszerzania naszego sklepu o nowe funkcjonalności czy jego kastomizację – mamy tutaj akcje i filtry i bardzo porządną dokumentację do WordPress. Z kolei w przypadku WooCommerce, który nie jest stricte sklepem ale wtyczką komercyjną do której znajdziemy zarówno dodatki sklepowe jak i np. współpracujący serwis ogłoszeniowy – widać na chwilę obecną że powstający kod dla wtyczek czy rozszerzeń jest niejednokrotnie bałaganiarski. Sam WordPress teoretycznie nie oferuje tworzenia dodatków z użyciem modelu MVC (chociaż powiedzmy sobie szczerze – zaawansowany programista sam sobie tak może odpowiednio zorganizować kod czy jego jakieś szablony).

Z jakąś niesamowitą prawidłowością rozszerzenia do WordPressa mają bardzo zły architektonicznie styl programowania – pomieszany kod php z javascript, html, pomimo wielu blogów i teorii na temat separacji.

Programiści frontend to lubią, bo dla nich ważne dorwać jest plik, pozmieniać style, javascript, html, coś tam php i już mamy gotowy sklep. Co niejednokrotnie kończy się problemami i kosztami zatrudnienia na poprawki doświadczonego programisty. Automatyczne aktualizacje to także murowane problemy z padającymi funkcjonalnościami sklepu.

Z kolei Prestashop ma dojrzałą architekturę. Mamy tutaj MVC (pseudo MVC, jakaś wariacja pocięta tym, że mamy do czynienia z kodem i po stronie serwera i klienta (javascript)), mamy taki ORM, mamy system szablonów Smarty, mechanizm overrides i parę innych rzeczy. Mamy też sporo logiki biznesowej którą niestety trzeba poznać aby zabrać się za kastomizacje funkcjonalności. Moduły dodatkowe potrafią nie działać, jak również w pewnych środowiskach nie ma zamiaru zadziałać moduł upgradeowania sklepu do nowej wersji.

Tyle że ucząc się Prestashop uczymy się Prestashop, w przypadku WooCommerce mamy jednak jakieś rosnące doświadczenie w WordPress. Teoretycznie więcej będzie stron internetowych niż z sklepów, ale to z kolei w sklepy jednak firmy chętniej inwestują, bo przynoszą zauważalne przychody, niż strony będące wizytówkami.

Pytanie więc – czy dżuma czy cholera? 🙂

WooCommerce czy Prestashop – okiem menedżera

Napewno można powiedzieć biznes managerom – nie ulegajcie cudownym bannerom o niezawodności i mistycznej bezawaryjności WooCommerce czy Prestashop (choć Prestashop jest póki co tutaj lepszy). Jeśli planujecie rozwijać biznes w oparciu o te sklepy, to napewno na jakimś etapie czeka was kontraktowanie programistów do poszerzania czy kastomizowania funkcjonalności – przede wszystkim dobre definiowanie wymagań. Na dzień dzisiejszy Prestashop oferuje dla biznesu ‚sklep stricte’ bardziej stabilną i dopracowaną całość – w zakresie sklepu. W przypadku WooCommerce przynajmniej z punktu widzenia programisty realizującego zlecenia naprawy – tych problemów jest więcej. Jednakże programistów WordPress jest więcej.

Przystępując też do wyboru oprogramowania a szczególnie dodatkowych modułów/wtyczek nie liczmy na to, że będą ze sobą bezawaryjnie współpracować, zwłaszcza w przypadku wtyczek WordPress/WooCommerce. Mogą wzajemnie poingerować we właściwe działanie sklepu. Dopracowanie darmowych wtyczek pozostawia wiele do życzenia („Cudze ręce lekkie ale niepożyteczne”.), więc należy też rozważyć wtyczki komercyjne – praca programisty poprawiającego darmowe oprogramowanie też kosztuje. Nie włączajmy automatycznych aktualizacji WordPress/WooCommerce czy dodatków. Aktualizacje trzeba robić na kopii developerskiej własnego sklepu. Jeśli się powiodą – robimy to samo na wersji produkcyjnej (zarabiającej).

Możliwe są też np. rozwiązania hybrydowe. Np. funkcje firmowe, cmsowe, społecznościowe zrealizujemy na CMS WordPress, a sklep na poddomenie np. sklep.* w Prestashop – „Pokorne ciele dwie matki ssie”. Sprawny programista powinien umieć pointegrować modułami funkcjonalności (np. napisać wtyczkę WordPress sięgającą do tabel Prestashopa).

Natomiast, co ważne, jeśli mamy doświadczonego programistę/firmę w którymkolwiek z rozwiązań, który posiada doświadczenie w budowie, kastomizacji, integracji modułów czy jego utrzymania – wybierzmy ten sklep w którym ma doświadczenie. Na długi dystans zasób „programista” staje się kluczowy.

Miłego biznesu.

Propozycja:
Programista WordPress
Programista WooCommerce
Programista Prestashop