Magento to świetne oprogramowanie sklepu internetowego. Niestety jest dość trudne do nauki od strony programistycznej (konsekwencja dobrej architektury, skalowalności i elastyczności). Nauka procentuje.

W gruncie rzeczy trudno jest zacząć bardziej zaawansowaną przygodę z Magento – również dlatego, że dokumentacja jest dość mocno rozrzucona i często niekompletna.

Postanowiłem ułożyć plan nauczania który pozwoli nauczyć się magento w jeden miesiąc.

UWAGA: Kto przejdzie ten kurs, dodatkowo potrafi  programować w obiektowym PHP – może liczyć na płatny staż lub pracę (wg. umiejętności) w Divante. Wystarczy, że napisze do mnie na adres: pkarwatka+cwicze+magento@divante.pl. Jeśli potrzebujesz mentoringu, wsparcia, konsultacji lub sprawdzenia zadania domowego. Napisz do mnie. Postaram się pomóc.

Będziemy ten plan testować na żywych ludziach którzy zechcą zatrudnić się w Divante (pod warunkiem, że przejdą rekurtację i potrafią dobrze programować w PHP). Pierwszy miesiąc czasu będzie to okres szkolenia i wsparcia (konsultacje, sprawdzanie zadań domowych – czas w pracy na naukę).

Ty również możesz przetestować ten plan szkoleniowy we własnym domu! Będę bardzo wdzięczny za otrzymane opinie. Ułożyłem kolejne ćwiczenia i lekcje w oparciu o to w jaki sposób ja – 3 lata temu – sam uczyłem się Magento.

Jeśli chcesz nauczyć się Magento bardzo szybko – zapisz się na nasze szkolenia (99zł – za 8 godzin szkolenia).

magento-logo_med

Co musisz umieć, żeby się nauczyć?

Kurs Magento w miesiąc zakłada, że znasz:

  • PHP5 i zasady programowania obiektowego przynajmniej w stopniu podstawowym,
  • ZendFramework 1 w stopniu podstawowym – a przynajmniejsz znasz standardy kodowania i architekturę,
  • Znasz podstawy SQL (MySQL)

Literatura 

http://www.amazon.com/architects-Guide-E-Commerce-Programming-Magento/dp/0973862173/ref=sr_1_20?ie=UTF8&qid=1381694995&sr=8-20&keywords=magento. Książka zawiera dużo zagadnień programistycznych opisanych w formie czegoś co można by nazwać FAQ/Receipes. Dostępna w wersji e-Book http://www.phparch.com/books/ (plik PDF można też z tego co zauważyłem znaleźć w Google ale chyba jest to nielegalna wersja?).

Bardzo dobrze opisuje cykl życia requestu, działanie layoutów itd. Fajnie opisuje krok po kroku przykłady – dajmy na to: jak stworzyć system punktów lojalnościowych jako moduł?

Ten e-book jest podstawą proponowanego szkolenia

Pozostałe pozycje literaturowe:

  1. http://www.amazon.com/Getting-Started-Magento-Extension-Development/dp/1783280395/ref=sr_1_24?ie=UTF8&qid=1381694995&sr=8-24&keywords=magento – książka autorstwa CTO Inchoo. Inchoo to utytułowany partner Magento z Chorwacji – od wielu lat znany z działalności edukacyjnej. Warto śledzić blog Inchoo.
  2. http://www.amazon.com/Mastering-Magento-Bret-Williams/dp/1849516944/ref=sr_1_3?ie=UTF8&qid=1381694941&sr=8-3&keywords=magento – dość podstawowa (czy nie za bardzo?) książka o Magento. Opisuje wszystko pokrótce, można zrozumieć jak działa to oprogramowanie
  3. http://www.amazon.com/Magento-Template-Cheat-Guide-ebook/dp/B00CLVKVS2/ref=sr_1_4?ie=UTF8&qid=1381694941&sr=8-4&keywords=magento – cheatsheet opisujący jak tworzyć szablony, czasami przydatna wiedza na początkowym etapie

Internet

  1. Podstawowy tutorial dla developerów – informacje mogą być trochę nieaktualne ale idea tworzenia modułów jest nadal świeża – http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-1-introduction-to-magento
  2. Informcacje o tym w jaki sposób korzystać z bazy danych w Magento – http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/custom_module_with_custom_database_table
  3. http://www.learnmagento.org/#
  4. http://magenting.wordpress.com/
  5. http://www.magthemes.com/magento-blog/category/magento-tips-tricks/
  6. http://www.excellencemagentoblog.com/
  7. http://www.classyllama.com/blog

Plan szkolenia

Jeden dzień powinien trwać jeden dzień kalendarzowy w praktyce. Zależy ile godzin dziennie możesz poświęcić na szkolenie (zakładam 4-8h w zależności od doświadczenia). Nie przejmuj się więc jeśli potrwa dłużej. Niektóre poniższe zadania są opisane lakonicznie – jeśli masz pytania napisz do mnie na pkarwatka+cwicze+magento@divante.pl

Dzień 1: Instalacja i uruchomienie Magento

Zadania:

  • instalacja serwera WWW (Apache lub Zend Server), bazy danych (MySQL) oraz PHP z wymaganymi rozszerzeniami
  • instalacja standardowej wersji Magento, wgranie polskiej wersji językowej,
  • instalacja subversion i stworzenie katalogu w repozytorium na tworzone w czasie nauki pliki,
  • przygotowanie środowiska phpStorm (zalecamy) lub Eclipse do pracy z Magento

Lektura na następny dzień:

Dzień 2: Panel administracyjny & frontend

Zadania:

  • stworzenie produktów i kategorii wg. podanego przykładu sklepu (http://demo.wellcommerce.pl) – ze zdjęciami i atrybutami (3-4 produkty),
  • stworzenie stron statycznych w CMS wg. podanego przykładu (j.w.),
  • konfiguracja płatności payU oraz formy dostawy (poczta polska oraz kurier DHL) – z płaskimi formami płatności,
  • konfiguracja polskiej wersji językowej frontend,
  • złożenie zamówienia i jego obsługa w panelu (zmiana statusów, komentarze, faktura, przesyłka),
  • stworzenie reguły rabatowej (-15% na wybraną kategorię), stworzenie reguły koszyka (dla zamówień o łącznej wartości 100 darmowa przesyłka),

Lektura na następny dzień:

  • php|architect’s Guide to Programming with Magento rozdział o architekturze Magento(Ch3, Ch4) – z naciskiem na „template system” który będzie wykorzystywany praktycznie w dniu następnym

Dzień 3: Wdrożenie layoutu

Zadania:

  • stworzenie pustego katalogu pod szablon graficzny + zmiana w konfiguracji aby zacząć korzystać z systemu
  • rozpakowanie i przejrzenie szablonu HTML do wdrożenia (potrzebujesz HTML? Napisz do mnie pkarwatka+cwicze+magento@divante.pl – coś wymyślimy)
  • rozpoczęcie prac nad układem layoutu (podstawowy plik HTML z <head>  – umieszczenie plików skryptów, css, fontów itd) – stworzenie bazy pod dzień kolejny

Lektura na dzień kolejny:

  • php|architect’s Guide to Programming with Magento – rozdział o architekturze Magento (Ch3, Ch4) – z naciskiem na „template system” który będzie wykorzystywany praktycznie w dniu następnym
  • php|architect’s Guide to Programming with Magento (Ch5)

Dzień 5-8: Wdrożenie layoutu strony głównej

(potrzebujesz HTML? Napisz do mnie pkarwatka+cwicze+magento@divante.pl – coś wymyślimy)

Zadania:

  • rozpoczęcie prac nad stroną główną (przewidywany czas podpinania strony głównej to 4 dni)
  • stworzenie pustego modułu pod zmiany w designie (np. dodatkowe bloki)
  • podział strony na bloki (rozpisanie + umieszczenie bloków w plikach XML)
  • stworzenie osobnego bloku na slider (logika tego bloku powinna pobierać z adresu URL parametr ?slide=2 – i ustawiać wybrany slide). Slajdy w tej wersji wpisane statycznie w kodzie HTML szablonu (bez edycji)
  • podpięcie i ostylowanie bloków (pliki *.phtml),

Lektura na dni kolejne:

  • php|architect’s Guide to Programming with Magento– rozdział o architekturze Magento- rozdziały dotyczące tworzenia modułów oraz modułów przykładowych (zwłaszcza „Reward points module”)

Dzień 9-11: Wdrożenie layoutu strony produktu i listy produktów

Zadania:

  • skorzystanie z gotowych bloków dostępnych w Magento,
  • podłączenie HTML (pliki *.phtml)
  • testy i poprawki

Lektura na dni kolejne:

  • php|architect’s Guide to Programming with Magento – rozdział o architekturze Magento- rozdziały dotyczące tworzenia modułów oraz modułów przykładowych (zwłaszcza „Reward points module”)

Dzień 12-13: Realizacja modułu „Made to order”

Zadania:

  • realizacja krok po krok modułu Made to order z książki php|architect’s Guide to Programming with Magento
  • dodanie modeli i atrybutów,
  • modyfikacja strony koszyka,
  • zrozumienie zależności quote/order,
  • użycie eventów i event-listenerów

Dzień 14-15: Realizacja modułu „Reward points”

Zadania:

  • realizacja krok po krok modułu „Reward points” z książki php|architect’s Guide to Programming with Magento
  • dodanie modeli i skorzystanie z bazy danych,
  • użycie eventów i event-listenerów

Lektura na dni kolejne:

  • php|architect’s Guide to Programming with Magento – rozdział o architekturze Magento- rozdziały dotyczące tworzenia modułów oraz modułów przykładowych (zwłaszcza „Backend integration”)

Dzień 16-17: Stworzenie modułu Backend służącego do zarządzania sliderem

Zadania:

  • dodanie zakładki do panelu administracyjnego,
  • możliwość dodawania kategorii slajdów i kolejnych slajdów (CRUD),
  • obsługa uploadu plików z grafiką slajdów
  • stworzenie bloku do wyświetlania slajdów na stronie głównej
  • integracja ze stroną główną

Dzień 18-19: Wdrożenie ścieżki zakupowej zgodnej z projektem*

Zadania:

  • modyfikacja ścieżki zakupowej na podstawie dotychczas zebranych informacji aby odpowiadała tej z przykładu http://demo.wellcommerce.pl lub z kodu HTML
  • podłączenie HTML

Lektura na dni kolejne:

  • php|architect’s Guide to Programming with Magento – rozdział o architekturze Magento- rozdziały dotyczące tworzenia modułów oraz modułów przykładowych (zwłaszcza „Backend integration”)

* zadanie dla wytrwałych!

ps. Tak się składa, że poszukujemy 8 programistów Magento. Jesteś zainteresowany?

Podziękowania:

Marek Kidoń, Paweł Szreder, Maciek Rudnicki