Nel di.xmlche viene fornito con Magento2 c'è un nodo typee un nodo virtualType. La mia domanda è: cos'è virtualTypee in che caso dovrebbe essere usato al posto di type? In alcuni punti sembra un collegamento simbolico o riscrivi: <virtualType name="Magento\Core\Model\Session\Storage" type="Magento\Framework\Session\Storage"> Quando un percorso completo viene cambiato in un altro …
Magento 2 contiene numerosi file di classe pre-generati o generati al volo. Loro vivono in var/generated Questi file generati includono le classi di fabbrica. Dalla documentazione , ho capito che un programmatore utilizza le classi di fabbrica per istanziare oggetti "non iniettabili". Un oggetto "non iniettabile" è un oggetto che …
Le ultime build di Magento 2 hanno eliminato la Mageclasse. Questo significa che abbiamo perso il Mage::helpermetodo. Esiste una tecnica di sostituzione (helper factory?) Per creare un'istanza di helper in Magento 2? O ci si aspetta che usiamo la nuova classe del gestore degli oggetti e creiamo un'istanza dell'helper come …
Quindi ho notato che nella maggior parte dei modelli e blocchi, questo è array $data = []dato come l'ultimo parametro del costruttore . Per esempio \Magento\Catalog\Block\Product\ListProduct public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Data\Helper\PostHelper $postDataHelper, \Magento\Catalog\Model\Layer\Resolver $layerResolver, CategoryRepositoryInterface $categoryRepository, \Magento\Framework\Url\Helper\Data $urlHelper, array $data = [] ) { $this->_catalogLayer = $layerResolver->get(); $this->_postDataHelper = …
Diciamo che sto costruendo un'estensione Magento 2 che fa ... beh ... non è importante. Diciamo che fa cose super fantastiche. Ma voglio assicurarmi che questo sia costruito usando gli standard adeguati in modo che altri sviluppatori possano estenderlo. Quando dovrei usare il DI in combinazione con le interfacce e …
Quindi, so teoricamente che cos'è una classe proxy in Magento 2. Ho letto il fantastico articolo di Alan Storm su di esso e capisco perfettamente come vengono generate quelle classi. Tuttavia, e non so se è perché sono un madrelingua inglese o se le spiegazioni di Alan stanno usando classi …
Come ha detto questo thread: Sostituisci classe astratta in Magento 2 in Magento 1 , Posso solo creare una classe completamente nuova. In Magento 2, abbiamo bisogno di usare plugin, ma i plugin mi permettono solo di modificare metodi esistenti. Cosa devo fare se voglio aggiungere un nuovo metodo? Esempio: …
Mi sembra che stia faticando a cogliere l'iniezione di dipendenza Magento 2 con i blocchi, ogni volta che provo ad estendere un blocco che non è \ Magento \ Framework \ View \ Element \ Template finisco con errori. Voglio creare un blocco che estende la classe di blocco di …
Forse mi manca un punto, ma mi chiedo solo perché a volte esiste un'istruzione "use" per una classe specifica e altre volte no. Esempio:, app\code\Magento\Email\Model\Template.phpabbiamo nella parte superiore del file: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Quindi nel __constructmetodo abbiamo i seguenti parametri: public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\View\DesignInterface $design, …
Come sovrascrivere il blocco VirtualType in Magento 2, voglio sovrascrivere il seguente blocco del tipo virtuale con il mio blocco, <virtualType name="Magento\CatalogSearch\Block\SearchResult\ListProduct" type="Magento\Catalog\Block\Product\ListProduct"> <arguments> <argument name="catalogLayer" xsi:type="object">Magento\Catalog\Model\Layer\Search</argument> </arguments> </virtualType> Quindi ho provato a sovrascriverlo dal mio modulo personalizzato in di.xmlquesto modo, <preference for="Magento\Catalog\Block\Product\ListProduct" type="My\Vendor\Block\Product\ListProductSearch" /> Ma non funziona Quindi, qual …
Ho un'azione del controller in cui vorrei iniettare il repository del prodotto namespace Nosto\Tagging\Controller\Export; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Store\Model\StoreManagerInterface; use Magento\Backend\App\Action; use Magento\Framework\App\Action\Context; class Test extends Action { private $_productRepository; public function __construct( Context $context, StoreManagerInterface $storeManager, ProductRepositoryInterface $productRepository ) { parent::__construct($context); $this->_storeManager = $storeManager; $this->_productRepository = $productRepository; } Indipendentemente dall'ordine …
È possibile iniettare una dipendenza in un modello CRUD Magento 2? Questo è - Magento 2 ha una base di classe del modello astratto: Magento\Framework\Model\AbstractModel. Se si desidera creare un semplice oggetto modello Crea, Leggi, Aggiorna, Elimina, si estende questa classe con la propria classe. class Foo extends Magento\Framework\Model\AbstractModel { …
Non capisco perché, in alcune classi, le loro iniezioni di dipendenza siano dichiarate due volte - una volta nella di.xmle nel costruttore della classe concreta. Ad esempio in Magento\Backend\Model\Url, di.xmlha questo set di tipi per DI definito: <type name="Magento\Backend\Model\Url"> <arguments> <argument name="scopeResolver" xsi:type="object"> Magento\Backend\Model\Url\ScopeResolver</argument> <argument name="authSession" xsi:type="object"> Magento\Backend\Model\Auth\Session\Proxy</argument> <argument name="formKey" …
Ho trovato dei codici di esempio per Magento 1.x. Ma non ho idea di come farlo su Magento 2. Qualcuno può descrivere come implementarlo usando Dependency Injection (DI) ? Grazie. $trackingDetail = array( 'carrier_code' => 'ups', 'title' => 'United Parcel Service', 'number' => 'TORD23254WERZXd3', // Replace with your tracking number …
Data: 1 giugno 2015 (vista la natura mutevole di Magento 2) In Magento 2, puoi configurare un "tipo virtuale" nel di.xmlfile di configurazione di un modulo . Questi tipi virtuali consentono di modificare gli argomenti di una specifica dipendenza iniettata. Nel codice Magento 2 di base, sembrano esserci due convenzioni …
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.