Ponieważ ostatnio miałem wiele problemów z darmowym i komercyjnym rozszerzeniem, postanowiłem zadać to pytanie i odpowiedzieć na nie, wykonując czynności, które zwykle wykonuję, pisząc rozszerzenie. Edytuj odpowiedź lub dodaj nową. W większości przypadków podczas instalowania rozszerzenia lub motywu muszę poświęcić kilka godzin (czasem więcej, a czasem mniej), aby działał we …
Ok, więc wczoraj rozmawialiśmy z innymi ludźmi ze społeczności Magento na temat bezpośredniego wykorzystania ObjectManagerklas / szablonów . Jestem już świadomy powodów, dla których nie powinniśmy bezpośrednio używać ObjectManager, cytując Alana Kenta : Jest kilka powodów. Kod będzie działał, ale najlepiej jest nie odwoływać się bezpośrednio do klasy ObjectManager. Ponieważ …
Przeszedłem kilka samouczków w Magento 2 i to mnie trochę dezorientuje. Widzę, że istnieją zasadniczo dwa sposoby, dzięki którym możemy odczytywać / zapisywać podmioty gospodarcze: Pobierać dane Korzystanie z podejścia fabrycznego $object = $this->myFactory->create(); $object->load($myId); Korzystanie z podejścia do repozytorium $repo = $this->myRepository(); $object = $repo->getById($myId); Zapisz dane Korzystanie z …
Jestem nowy w Magento Development (CE 1.6) i wciąż próbuję zdefiniować mój przepływ pracy. Obecnie rozwijam na Mac OSX 10.8 z Netbeans 7.3, ale uważam, że Netbeans jest powolny i zawiesza się na mnie. Zwykle przechodzę na Sublime Text 2, aby szybko przeglądać / edytować pliki, lub czasami po prostu …
Chcę wiedzieć, czy istnieją jakieś najlepsze praktyki korzystania z Magento 2 jako bezgłowego rozwiązania handlu elektronicznego . Typowym e-commerce w 2017 roku jest posiadanie wielokanałowego rozwiązania, które obejmuje E-commerce CMS Wieloplatformowy Integracja systemu poziomów (ERP, ...) Chcę wiedzieć, jak zaangażować API Magento 2 w tego rodzaju rozwiązanie. Moje podejście: Użyj …
Wszystkie poniższe metody są używane w rdzeniu Magento, więc który jest preferowanym (lub najnowszym „najlepszym rozwiązaniem”) sposobem? Mage::throwException('Some Message')- 732 zastosowań throw new Exception('Some Message')- 419 zastosowań throw Mage::exception('Vendor_Module', 'Some Message')- 94 zastosowań (trzeba utworzyć Vendor_Module_Exceptionklasę)
Jaki jest najskuteczniejszy sposób uzyskania adresu URL produktu, podając tylko jego identyfikator? W kilku miejscach w naszym kodzie mamy takie rzeczy, jak Mage::getModel('catalog/product')->load($id)->getProductUrl()na przykład uzyskanie adresu URL produktu, biorąc pod uwagę ilość zdarzeń itp. Związanych z produktem, wydaje się to raczej marnotrawstwem, czy istnieje prostsza metoda? Przydałaby się możliwość określenia …
Widzę niektóre sprzeczne informacje zarówno w Internecie, jak i w modułach innych firm - czy jest to wymóg lub najlepsza praktyka, aby powrócić $thisna końcu metody obserwatora? Na przykład: MyCompany_Module_Model_Observer.php public function salesOrderSaveAfter($observer){ //do stuff return $this; }
Magiczne pobieracze na Varien_Object(M1) i DataObject(M2) są powszechną praktyką, ale w Magento 2 korzystanie z nich jest niewłaściwe. Dobry: łatwy do odczytu / zapisu Zły Powoduje to problemy podczas używania cyfr w kluczach (patrz: Magento 2: w inny sposób uzyskaj pole kolekcji lub uzyskaj atrybut produktu niestandardowego za pomocą skrzynki …
Powiedzmy, że buduję rozszerzenie Magento 2, które działa ... cóż ... nieważne. Powiedzmy, że robi super niesamowite rzeczy. Chcę jednak upewnić się, że jest on budowany przy użyciu odpowiednich standardów, aby inni programiści mogli go rozszerzyć. Kiedy powinienem używać DI w połączeniu z interfejsami, a kiedy nie? Wyjaśnienie tego jest …
Pracując nad projektem klienta dla Magento 2 - odkryłem wiele metod ładowania i śledzenia rozszerzeń innych firm. Przechodząc do tego, zakładając, że używamy metody instalacji integratora (kompozytor!), Jakie są najlepsze praktyki zarządzania rozszerzeniami stron trzecich? Do tej pory każde rozszerzenie, które kupiłem lub pobrałem, miało swój własny plik composer.json - …
W Magento 1byliśmy przyzwyczajeni do umieszczania naszych klas w tych katalogach Blok Pomocnik Model Ratunek i użyj prostej nazwy klasy bez wielkich liter w środku nazwy. Jeśli spojrzymy na niektóre przypadki w Magento 2 Core Pomocnicy Lokalizacja : - \Foo\Bar\Helper Nazwa : - *.php Przykłady : - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images Obserwatorzy …
Ponieważ trudno mi było znaleźć właściwą drogę, poniżej możesz znaleźć najlepszą praktykę, którą zastosowałem. Ciesz się, popraw mój angielski w razie potrzeby i powiedz mi, że się mylę, jeśli tak jest. :) Edycja: ... i odkryłem, że się myliłem w niektórych aspektach. Zaktualizowałem więc oryginalny post, gdy odpowiedzi Raphaela pomogły …
Rozejrzałem się wokół rdzenia i zobaczyłem kilka przykładów relacji między modelami od wielu do wielu, ale nie widzę na to ostatecznej odpowiedzi. Jako przykład powiedzmy, że tworzymy nowy model i chcemy mieć relację wiele do wielu z istniejącą tabelą produktów. Mamy więc nasz nowy Model - Stockist i tworzymy 2 …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.