Oznacza pytania dotyczące wtyczek Magento 2 (BeforePlugin, AfterPlugin i AroundPlugin). Wtyczki są również znane jako przechwytywacze w dokumentacji Magento.
W Magento 2, kiedy tworzysz wtyczkę „około” public function aroundRenderResult( \Magento\Framework\Controller\ResultInterface $subject, \Closure $proceed, ResponseHttp $response ) { //... $proceed($response); //... } możesz przejść do następnej wtyczki, kończąc się wywołaniem rzeczywistej oryginalnej metody, poprzez wywołanie / wywołanie przekazanej $proceedmetody. Jest to powszechny wzorzec projektowy, często spotykany w implementacjach oprogramowania pośredniego …
Jestem programistą PHP od ponad 13 lat, mam rozległą wiedzę na temat samego PHP, o ile inne popularne projekty, takie jak WordPress. Nie mam doświadczenia z Magento. Mam teraz pełnoetatową pracę w firmie korzystającej z Magento, cała moja praca programistyczna będzie teraz dotyczyła Magento. Moje pierwsze przemyślenia po pierwszym spojrzeniu …
W Magento 2 jakie są zalety i wady używania wtyczki w porównaniu z obserwatorem, aby coś osiągnąć? Rozumiem, że obserwatorzy subskrybują wydarzenia, podczas gdy wtyczki mogą wskoczyć przed i / lub po wywołaniu metody publicznej na klasie Magento, ale z pewnością zbliżają się teraz bardzo do skrzyżowania ścieżek?
Zauważyłem więc kilka Interceptor.phpplikówvar/generation Wiem, że ten folder zawiera generowane klasy tworzone w locie dla następujących elementów: Fabryki Proxy Wtyczki Zakładam, że pliki Interceptora są połączone z plikami wtyczek, ale czasami nie rozumiem, w jaki sposób te pliki są generowane. Na przykład mam, var/generation/Magento/Framework/App/Response/Http/Interceptor.phpale ten plik nie pasuje do żadnej …
Magento 2 ma koncepcję Wtyczki / Przechwytywanie / Przechwytywanie w przeciwieństwie do Magento 1. Działają one jak przed | po wydarzeniu dla każdej publicznej metody. Co jest miłe. Możesz również użyć aroundwtyczki, aby zastąpić funkcjonalność metody. Ale Magento 2 nadal oferuje możliwość przepisywania klas mniej więcej w sposób M1. Chciałbym …
Data: 30 maja 2015 r. (Biorąc pod uwagę zmieniający się charakter Magento 2). Magento 2 wprowadziło koncepcję wtyczki , zaimplementowaną za pomocą wzorca przechwytującego . Co nie jest jasne z dokumentów - które klasy i obiekty w Magento są „przechwytywalne”? Oznacza to, że konfigurujesz wtyczkę z XML, która wygląda następująco …
Buduję rynek za pomocą Magento2. Z tego powodu muszę mieć możliwość załadowania zamówienia klienta przy użyciu poświadczeń klienta dostawcy. Problem polega na tym, że Magento2 używa wtyczki do sprawdzenia, czy tylko klient tego zamówienia (lub administrator) może załadować zamówienie. W takim przypadku muszę zastąpić wtyczkę jako całość lub zastąpić chronioną …
Czy są jakieś konsekwencje korzystania z klasy wtyczek w Magento 2, która się nie kończy \Plugin? Dokumenty sugerują, że ta klasa powinna kończyć się nazwą \Plugin. Nazwa klasy wtyczki lub jej typ wirtualny. Podczas określania tego elementu użyj następującego schematu: \ Plugin. Istnieje jednak kilka wtyczek kodu, które tego nie …
W Magento 1 mogłem skopiować klasę abstrakcyjną do katalogu lokalnego lub społeczności i Magento używał jej, gdy ładowanie automatyczne ładowało tę klasę. Czy istnieje jakieś rozwiązanie, aby Magento zamiast tego ładował moją klasę vendor/magento/framework/Model/AbstractModel.php? Preferencje di.xmldla klas abstrakcyjnych nie działają. Tylko wtyczki?
Czy istnieje wydarzenie lub miejsce, do którego mogę podłączyć wtyczkę, gdy reguła ceny koszyka nie jest już ważna (na przykład, kiedy wygasa lub jeśli zmienisz ilość innych produktów, w przypadku których przestała obowiązywać)? Wiem, że jest on automatycznie usuwany z koszyka, ale nie mogę znaleźć w kodzie tego miejsca. Piszę …
Możemy rozszerzyć kontroler na dwa sposoby: używając preferencji i wtyczki. Ale nie rozumiem tego, który z nich jest dobry i jakie są zalety / wady preferencji w porównaniu do wtyczki. <preference for="Magento\Checkout\Controller\Index\Index" type="mymodule\Helloworld\Controller\Index\Index" /> <type name="Magento\Catalog\Model\Product"> <plugin name="getname-test-module" type="mymodule\Helloworld\Model\Plugin\Product" sortOrder="10"/> </type>
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.