Błąd (fatal error) z Magento Helper – Helper Class Not Found oraz prefiks (prefix) Mage_

Podczas tworzenia modułów na Magento, a szczególnie przy pisaniu konfiguracji korzystającej z wbudowanych mechanizmów Magneto możemy się natknąć na błąd podobny to poniższego.

Fatal error: Class ‘Mage_MyModule_Helper_Data’ not found in

Czytaj całość...

Połączenie z Magento przez SOAP, tutorial cz. 1: Wprowadzenie

Magento oferuje innym aplikacjom zdalne połączenie się ze sobą za pośrednictwem specjalnie do tych celów napisanego Zdalnego API. Oparte jest ono na technologiach SOAP oraz XML-RPC. Umożliwia to integrację Marento z zewnętrznymi systemami typu CRM, ERP i innymi. Niniejszy odcinek kursu dotyczącego łączenia z Magento za pośednictwem SOAP jest pierwszym z cyklu skłądającego się 4 części.

Czytaj całość...

Funkcja catalog_product.update w Magento SOAP

Przykład pokazujący jak połączyć się przez SOAP z Magento i uaktualnić informacje (tu pole o nazwie margin) o konkretnym produkcie wskazanym przez SKU.

Czytaj całość...

Obsługa Magento za pomocą SOAP na przykładzie catalog_product.info

SOAP to skrót od Simple Object Access Protocol. Jest to jeden z protokołów wspieranych przez Magento do zdalnego komunikowania się z nim i wykonywania określonych zadań na zdalnym systemie. SOAP wykorzystuje XML oraz HTTP. Umożliwia realizację podobnych funkcjonalności, które daje Magento API, ale właśnie w spoób zdalny.

Czytaj całość...

Programowe dodawanie produktów za pomocą Magento API

Programowe dodawanie produktów w Magento jest stosunkowo proste – o ile wie się jak to zrobić. Przydać się to może przy pisaniu modułów importu. Poniżej zaprezentowany jest najprostszy wariant z podstawowymi parametrami.

Czytaj całość...

Odczyt plików XML za pomocą Magento API

Magento za pośrednictwem swojego API oferuje niesamowicie wygodny sposób na pracę z plikami XML. Wszystko odbywa się za pomocą obiektu klasy Varien_Simplexml_Config.

Czytaj całość...

Tworzenie modułów do Magento ? Magento API tutorial cz. 2: Tworzenie kontrolera

Druga część mojego skromnego kursu tworzenia modułów do Magento dotyczyć będzie stworzenia prostego kontrolera. W poprzedniej części utworzyliśmy drzewo katalogów, w którym umieszczać będziemy nasze pliki modułu.

Czytaj całość...

Zastępowanie bloku w Magento, czyli Reference + Block + Template

W Magento istnieje bardzo dobry mechanizm zastępowania jednego Bloku innym bez konieczności modyfikowania jakichkolwiek plików XML lub PHTML. Mechanizm ten jest opisany w internecie na ‘oficjalnym’ tutorialu, lecz w sposób trochę niejasny. A jako, że wiekszość ludzi, która pisze na ten temat, beszczelnie przepisuje ten tutorial wprowadzając tylko drobne zmiany, to ta niejasność jest powtarzana i powtarzana.

Czytaj całość...

Magento: Produkty niewidoczne po dodaniu

Kiedy dodamy nowe produkty za pomocą panelu administracyjnego, może się zdażyć, że nie będą widoczne we frontendzie. Przyczyna może być dwojaka – albo nieaktualne indeksy albo wybrana niewłaściwa kategoria główna.

Czytaj całość...

Tworzenie modułów do Magento – Magento API tutorial cz. 1: Tworzenie drzewa folderów

Magento to bardzo popularny system sklepu internetowego oparty o Zend Framework napisany w języku PHP. Wykorzystany jest w nim wzorzec MVC (opis tego wzorca można znaleść w dziale PHP) oraz paradygmat Convention Over Configuration, co oznacza ni mniej ni więcej to, że bardzo ważne jest odpowiednie stosowanie nazewnictwa plików, klas i znaczników, aby wszystko dobrze działało. Magento jest ściśle oparte o język XML, w którym jest zapisana cała konfiguracja systemu oraz komunikacja. Od razu na wstępie zaznaczam, że tworzenie pod Magento jest dość skomplikowanym procesem i początkujący programista będzie płakał.

Czytaj całość...

Nieudane zdalne logowanie do panelu Magento

Podczas pracy ze sklepem Magento są dwie sytuacje, gdy możemy mieć problem z zalogowaniem się do panelu administratora.

Pierwsza z nich to sytuacja, gdy instalujemy Magento lokalnie (localhost). Ten problem jest obszernie opisany w internecie i sprowadza się, w ogólnym zarysie, do zmiany Base URL z localhost na 127.0.0.1 (możliwe są też alternatywne zmiany w pliku systemowym Magento).

Druga sytuacja dotyczy normalnej instalacji produkcyjnej na zdalnym serwerze z przypisaną domeną. Sytuacja ta ma specyficzną cechę, gdyż okazuje się, że dotyczy tylko przeglądarek innych niż Firefox (np. IE, Opera). Rozwiązanie jest dość proste:

  • 1. Należy poprawnie skonfigurować strefę i czas systemowy na serwerze.
  • 2. W Magento, w System->Configuration->General->Locale Options również należy skorygować strefę czasową.

  • 3. W Magento, w System->Configuration->Web->Session Cookie Management należy ustawić Use HTTP Only na NIE.

Czytaj całość...

Współpraca Magento z serwerami SMTP wymagającymi uwierzytelniania (autoryzacji)

Wiekszość serwerów poczty wychodzącej SMTP wymaga obecnie autoryzacji. Ogranicza to możliwość rozsiewania SPAMu. System sklepów internetowych Magento niestety nie przyjmuje tego faktu do świadomości. Być może dlatego, że niekorzystnie wpłynęł by to na firmy, które sprzedają dodatki do Magento umożliwiające łączenie się z tym serwerami za około 30$-80$. W internecie jest kilka rozwiązań wymagających ingerencji w kod sklepu. Ta metoda jest konieczny, gdy mamy sklep postawiony na zewnętrznym hostingu.

Gdy jednak mamy Magento postawione u siebie na serwerze to istnieje o wiele prostsze rozwiązanie:

  • Na serwerze stawiamy sobie lokalny serwer poczty, np. hMailServer
  • Konfigurujemy nasz lokalny serwer poczty, aby przekazywał maile z uwierzytelnianiem na serwer pocztowy, tam gdzie mamy skrzynkę
  • Konfigurujemy Magento, aby korzystał naszego serwera pocztowego via localhost już bez uwierzytelniania
Czytaj całość...