Als «event-observer» getaggte Fragen

Event / Observer wird verwendet, um dynamisch mit Magento zu arbeiten, ohne den Kerncode zu ändern.


2
Magento Event Observers: Singleton versus Model
Daher bietet Magento zwei Möglichkeiten, einen Beobachter zu deklarieren. Singleton und Model (neue Instanz) durch Angabe des <type>Tags in Magento 1.x und durch Angabe des sharedAttributs in Magento 2. Magento 1 Art und Weise, es zu tun. <events> <event_name> <observers> <unique_observer_name> <type>model|object|singleton|null</type> <class>class/alias_here</class> <method>methdNameHere</method> </unique_observer_name> </observers> </event_name> </events> Magento 2 …

2
Wie überprüfe ich, ob sich ein Benutzer bei Magento angemeldet hat?
Ich mache mobile Apps und möchte wissen, wie ich überprüfen kann, ob der Benutzer bereits angemeldet ist oder nicht. Gibt es ein zu verfolgendes Beobachterereignis? Wenn festgestellt wird, dass das Konto angemeldet ist, wird der Benutzer zur Seite "Kontoinformationen" weitergeleitet. Andernfalls wird der Benutzer zur Anmelde- oder Registrierungsseite weitergeleitet.


4
Verwechslung mit Bestell-ID, Bestell-Inkrement-ID und ich erhalte die Bestell-ID nicht als 20001201
Ich bin ein bisschen verwirrt mit der Bestell-ID und der Bestell-Inkrement-ID . Kann mir jemand helfen, den Unterschied zwischen diesen beiden zu verstehen? Ich habe einen Beobachter für sales_order_place_after, in dem ich Verkaufsdetails in einer benutzerdefinierten Tabelle speichere. Aber mit $orderId = $observer->getEvent()->getOrder()->getId(); Ich erhalte die Bestell-IDs als normale IDs …

4
$ This nach dem Beobachter zurückgeben
Ich sehe einige widersprüchliche Informationen im Internet und in Modulen von Drittanbietern. Ist es eine Anforderung oder eine bewährte $thisMethode, am Ende einer Beobachtermethode zurückzukehren? Z.B: MyCompany_Module_Model_Observer.php public function salesOrderSaveAfter($observer){ //do stuff return $this; }

2
Magento 2: Plugin gegen Observer
Was sind in Magento 2 die Vor- und Nachteile der Verwendung eines Plugins gegenüber einem Beobachter, um etwas zu erreichen? Ich verstehe, dass Beobachter Ereignisse abonniert haben, während Plugins vor und / oder nach dem Aufruf einer öffentlichen Methode für eine Magento-Klasse einspringen können.

1
So erstellen Sie einen neuen Beobachter für das Ereignis catalog_product_save_before
Ich möchte eine automatische Generierung von Metabeschreibungen für meine Produkte, indem ich im Ereignis catalog_product_save_before einen neuen Beobachter mit folgendem Code erstelle: 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); …

2
Inventaränderung erkennen
Ich muss feststellen, wann sich der Lagerbestand eines Produkts ändert. Ich hatte einige Erfolge mit dem cataloginventory_stock_item_save_afterEreignis, das ausgelöst wird, wenn das Inventar im Backend geändert wird oder wenn eine Bestellung im Frontend (über Paypal) storniert wird, aber nicht ausgelöst wird, wenn ein Produkt über das Frontend gekauft wird. Ich …

3
Erstellen einer benutzerdefinierten Option beim Speichern des Produkts
Ich arbeite daran, bei jeder Produkterstellung automatisch eine benutzerdefinierte Option für meine Produkte zu erstellen. Was ich bisher habe, ist ein Beobachter, der das catalog_product_save_beforeEreignis abfeuert und den folgenden Code ausführt: //check that we haven't made the option already $options = $product->getProductOptions(); foreach ($options as $option) { if ($option['title'] == …



5
Wie bekomme ich ein Produktbild und eine URL in Magento 2?
Das ist mein Beobachter: public function execute(\Magento\Framework\Event\Observer $observer) { $orderIds = $observer->getEvent()->getOrderIds(); $order = $this->_orderRepositoryInterface->get($orderIds[0]); $items =$order->getAllVisibleItems(); $productQuantity = array(); $productPrice = array(); $productName = array(); $productIds = array(); foreach($items as $item) { $productIds[]= $item->getProductId(); $productName[]= $item->getSku(); $productPrice[] = $item->getPrice(); $productQuantity[]= floor($item->getQtyOrdered()); } } Wie kann ich das Produktbild und …


2
Magento schlägt fehl, wenn versucht wird, das Produkt im Event Observer auf dem Frontend zu speichern?
Ich habe eine Funktion, die an einen Ereignisbeobachter gebunden ist Eine der Anforderungen ist, dass beim Durchlaufen der Bestellpositionsdaten, wenn ein bestimmtes Produktattribut leer ist, eine Anforderung ausgegeben wird, bestimmte Daten über ein separates Modell abzurufen (funktioniert einwandfrei). Der Problemcode läuft im Grunde darauf hinaus foreach ($order->getAllItems() as $key => …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.