magento

All posts tagged magento

Ten artykuł przedstawia jak skonfigurować wiele witryn na jednej instalacji Magento i przypisać do każdej witryny inną domenę.

  1. Przechodzimy do System -> Zarządzaj sklepami.
  2. Klikamy w Utwórz witrynę.Utwórz witrynę
  3. Uzupełniamy pola wpisując Nazwę, Kod i Kolejność sortowania i klikamy Zapisz witrynę.Nowa witryna
  4. Klikamy w Utwórz sklep.Utwórz sklep
  5. W pozycji Witryna z listy rozwijanej wybieramy witrynę, którą utworzyliśmy, w polu Nazwa wpisujemy nazwę sklepu i wybieramy Kategorię bazową dla tworzonego sklepu po czym zapisujemy wprowadzone dane klikając w Zapisz sklep.Nowy sklep
  6. Klikamy w Utwórz widok sklepu.Nowy widok sklepu
  7. W polu Sklep z listy wybieramy sklep, który utworzyliśmy, wpisujemy Nazwę, Kod, Status i Kolejność sortowania po czym klikamy na Zapisz widok sklepu.Nowy widok sklepu
  8. Teraz przechodzimy do System -> Konfiguracja.
  9. Zmieniamy Zasięg obecnej konfiguracji wybierając nowo utworzoną witrynę Nowa witryna.Zasięg obecnej konfiguracji
  10. Z menu po lewej wybieramy OGÓLNE -> Sieć i przechodzimy do zakładki Niezabezpieczony oraz Bezpieczny. W polu Bazowy URL odznaczamy checkbox Użyj domyślnych po czym wpisujemy adres url jaki chcemy aby kierował do naszej nowo utworzonej witryny i klikamy Zapisz konfigurację.Sieć
  11. Kolejnym krokiem jaki trzeba wykonać jest zmapowanie adresu url podanego w konfiguracji magento na nowo utworzoną witrynę. W tym celu w pliku .htaccess należy dodać poniższy zapis:
  12. Podobną czynność robimy też w pliku index.php. Otwieramy plik i odnajdujemy linię
    Mage::run($mageRunCode, $mageRunType); powyżej, której wstawiamy kod: 

Teraz każda w ten sposób skonfigurowana witryna powinna być widoczna z innego adresu url.

Aby wyrenderować niestandardową wartość na grid’zie przede wszystkim trzeba dodać do kolumny parametr, który będzie wskazywał na plik odpowiedzialny za renderowanie odpowiedniej wartości. Tak więc w pliku {Namespace}/{Module}/Block/Adminhtml/{Entity}/Grid.php dodajemy parametr renderer:

Teraz należy utworzyć plik renderujący {Namespace}\{Module}\Block\Adminhtml\{Entity}\Renderer\Customvalue.php:

Teraz w kolumnie otrzymamy wyrenderowaną wartość.

W Magento, każdy kto zapisze się do newsletter’a trafia na listę subskrybentów. Aby pobrać taką listę należy użyć poniższego kodu:

Jest to typowe zaczytanie modelu i pobranie kolekcji więc możemy tu np. dodawać filtry czy też sortowanie:

Nieraz istnieje potrzeba przypisania do atrybutu produktu jakiejś wartości lub też filtrowania kolekcji produktów po określonym atrybucie. Sprawa wygląda prosto i nie ma w tym nic nadzwyczajnego, jednak co zrobić gdy nie mamy pewności czy dany atrybut istnieje? Wywołując kod z odniesieniem do nieistniejącego atrybutu możemy liczyć na wygenerowanie błędu lub nawet co gorsza zatrzymanie się skryptu bez generowania żadnego błędu co jest później trudne do zlokalizowania. W takim wypadku należałoby najpierw zweryfikować czy dany atrybut istnieje:

Do pobrania produktów jakie znajdują się w koszyku możemy użyć dwóch metod:

 

W ten sposób pobierzemy listę wszystkich elementów znajdujących się w koszyku – pobrane zostaną też produkty rodzice takie jak produkty konfigurowalne (configurable) i produkty w pakiecie (bundle).

 

Kod ten umożliwi nam pobranie elementów z koszyka, które nie mają rodzica – kod więc nie zwróci produktów prostych zawartych w produktach konfigurowalnych.