Wiem, że Magento ma system przypominający hak zwany zdarzeniami. Czy ktoś ma pełną listę lub skrypt, za pomocą którego można określić, które zdarzenia można wywołać?
Zajmuję się aplikacjami mobilnymi i chciałbym wiedzieć, jak sprawdzić, czy użytkownik jest już zalogowany, czy nie. Czy jest jakieś zdarzenie obserwatora do śledzenia? Jeśli zostanie wykryte, że konto jest zalogowane, użytkownik zostanie przekierowany na stronę Informacje o koncie. Jeśli nie, użytkownik zostanie przekierowany na stronę logowania lub rejestracji.
Mam kategorię produktów, które (zgodnie z prawem) wymagają zmiany stawki podatkowej, gdy zamawiasz więcej niż określoną ilość. Rozszerzyłem różne modele podatkowe, aby to działało, gdy dodajesz nowy produkt do koszyka, ale mam problemy, gdy użytkownik aktualizuje ilości w koszyku lub dodaje dodatkowe produkty, które przechylają ilości już w koszyku powyżej …
Jestem trochę mylony z identyfikatorem zamówienia i identyfikatorem przyrostu zamówienia. Czy ktoś może mi pomóc zrozumieć różnicę między tymi dwoma? Mam obserwatora dla Sales_order_place_after, gdzie przechowuję szczegóły sprzedaży w niestandardowej tabeli. Ale z $orderId = $observer->getEvent()->getOrder()->getId(); Dostaję identyfikatory zamówienia jako normalne identyfikatory, takie jak 112, 113 lub 110 itd., Nie …
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; }
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?
Chcę automatycznego generowania metaopisu dla moich produktów, tworząc nowego obserwatora na zdarzeniu katalog_produktu_zapisać_przed tym kodem: public function autoMetaDescription($observer) { $product = $observer->getEvent()->getProduct(); $metaDescription = "Buy ". $product->getName()." for Rs ".number_format($product->getFinalPrice(), 2)." at sitename.com | New Book | Authorised seller for ". $product->getAttributeText('publisher'); $product->setMetaDescription($metaDescription); } W którym folderze / plikach muszę …
Muszę wykryć za każdym razem, gdy zmienia się poziom zapasów produktu. Odniosłem pewien sukces przy użyciu cataloginventory_stock_item_save_afterzdarzenia, które jest uruchamiane, gdy zapasy są zmieniane w backend lub gdy zamówienie jest anulowane na frontend (przez Paypal), ale nie jest uruchamiane, gdy produkt jest kupowany z frontendu. Przyłączam się do tego cataloginventory_stock_item_save_afterwydarzenia: …
Pracuję nad automatycznym tworzeniem niestandardowej opcji dla moich produktów za każdym razem, gdy produkt jest tworzony. Do tej pory mam obserwatora, który odpala catalog_product_save_beforezdarzenie i uruchamia następujący kod: //check that we haven't made the option already $options = $product->getProductOptions(); foreach ($options as $option) { if ($option['title'] == 'Auto Date & …
Używamy API Magento SOAP v2 z WS-I. Problem polega na tym, że połączenia SOAP są wyjątkowo wolne (7-10 sekund na produkt!). Nazywamy catalogProductUpdate bez obrazów. Sam sklep działa dobrze, tylko połączenie SOAP jest wolne. Aktywowaliśmy pamięć podręczną i dezaktywowaliśmy Indeks w celu zwiększenia wydajności (które pomagają w wielu innych sklepach, …
Mam funkcję powiązaną z obserwatorem zdarzeń Jednym z wymagań jest to, że kiedy przechodzi przez dane pozycji zamówienia, jeśli określony atrybut produktu jest pusty, wysyła żądanie uzyskania określonych danych przez oddzielny model (działa dobrze). kod problemu sprowadza się do tego foreach ($order->getAllItems() as $key => $item) { /** @var Tantor_Catalog_Model_Product …
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.