Bezeichnet Fragen zu Magento 2-Plugins (BeforePlugin, AfterPlugin und AroundPlugin). Plugins werden in der Magento-Dokumentation auch als Interceptors bezeichnet.
Während der Modulentwicklung habe ich ein Plugin geschrieben, das die Produktoptionssammlung vor dem Laden ändert (fügt ein Beschreibungsfeld hinzu). Hier ist es: etc / di.xml <type name="Magento\Catalog\Model\ResourceModel\Product\Option\Collection"> <plugin name="addOptionDescription" type="Vendor\Module\Plugin\Product\Option\Collection" sortOrder="10" disabled="false"/> </type> Code: <?php namespace Vendor\Module\Plugin\Product\Option; use Vendor\Module\Model\OptionDescription; use Magento\Catalog\Model\ResourceModel\Product\Option\Collection as OptionCollection; class Collection { /** * @var \Vendor\Module\Helper\Data …
Ich versuche, meine benutzerdefinierten Felddaten über das Plugin zu speichern, aber es funktioniert nicht. Plugin Klasse namespace Vendor\Module\Model\Checkout; class PaymentInformationManagementPlugin { protected $paymentMethodManagement; public function __construct( \Magento\Quote\Model\QuoteFactory $quote, \Magento\Quote\Api\PaymentMethodManagementInterface $paymentMethodManagement ) { $this->paymentMethodManagement = $paymentMethodManagement; $this->quoteManagement = $quoteManagement; } public function beforeSavePaymentInformation( \Magento\Checkout\Model\PaymentInformationManagement $subject, $cartId, \Magento\Quote\Api\Data\PaymentInterface $paymentInformation ) { //$paymentInformation->getData('extension_attributes'); …
Ich bin verwirrt von der Magento 2-Dokumentation zu Plugins : Es wird zuerst gesagt, dass: Plugins können nicht mit virtuellen Typen verwendet werden Aber dann heißt es: Sie können eine Klasse, eine Schnittstelle oder einen virtuellen Typ als Typnamen angeben, den das Plugin beobachtet Vermisse ich etwas oder widerspricht sich …
So überschreiben oder verwenden Sie das Plugin für isWebsiteScope()Funktionen aus der Datei Magento \ Customer \ Model \ Config \ Share.php . Ich habe das Plugin für die unten stehende Funktion verwendet, möchte aber die aktuelle Kundensitzung in der unten stehenden Funktion abrufen. Überprüfen Sie hauptsächlich, ob custoemr angemeldet ist …
Wenn ich ein Plugin mache, ist es nicht notwendig, von der Klasse zu erben, die ich überschreibe. Manchmal verwendet die von mir geänderte Methode jedoch Eigenschaften, die protectedZugriff haben und von der Plugin-Klasse nicht verwendet werden können. Aber wenn ich in der Plugin - Vererbung nach Modified Klasse deklarieren ist …
Ich habe ein Plugin erstellt, um einen Link für jedes Produkt wie folgt hinzuzufügen: <?php namespace Vendorname\Modulename\Plugin; class ProductData { protected $urlInterface; protected $scopeConfig; public function __construct( \Magento\Framework\UrlInterface $urlInterface, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig ) { $this->urlInterface = $urlInterface; $this->scopeConfig = $scopeConfig; } public function aroundGetProductDetailsHtml( \Magento\Catalog\Block\Product\ListProduct $subject, \Closure $proceed, \Magento\Catalog\Model\Product $product ) …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.