Preguntas etiquetadas con dependency-injection

Indica preguntas sobre la inyección de dependencia de Magento 2

3
¿Cuál es la diferencia entre type y virtualType?
En el di.xmlque viene con Magento2 hay un nodo typey un nodo virtualType. Mi pregunta es: ¿qué es esto virtualTypey en qué caso debería usarse en lugar de type? En algunos lugares parece un enlace simbólico o reescribir: <virtualType name="Magento\Core\Model\Session\Storage" type="Magento\Framework\Session\Storage"> Cuando una ruta completa se convierte en otra, pero …


5
Ayudantes de instanciación en Magento 2
Las últimas versiones de Magento 2 han eliminado la Mageclase. Esto significa que hemos perdido el Mage::helpermétodo. ¿Existe una técnica de reemplazo (fábrica de ayudantes) para crear instancias de ayudantes en Magento 2? ¿O se espera que usemos la nueva clase de administrador de objetos y solo creemos una instancia …

2
Magento 2: ¿cuál es el parámetro constructor de matriz de datos $?
Entonces noté que en la mayoría de los modelos y bloques, esto se array $data = []da como el último parámetro del constructor . Por ejemplo \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 …

2
Mejores prácticas de Magento 2 DI
Digamos que estoy construyendo una extensión de Magento 2 que ... bueno ... no es importante. Digamos que hace cosas súper increíbles. Pero quiero asegurarme de que esto se construya utilizando los estándares adecuados para que otros desarrolladores puedan extenderlo. ¿Cuándo debería usar el DI en combinaciones con interfaces y …




2
Magento 2: uso de declaración versus ruta de clase directa?
Puede que me esté perdiendo un punto, pero me pregunto por qué a veces hay una declaración de "uso" para una clase específica y otras no. Ejemplo: app\code\Magento\Email\Model\Template.phptenemos en la parte superior del archivo: namespace Magento\Email\Model; use Magento\Store\Model\ScopeInterface; use Magento\Store\Model\StoreManagerInterface; Luego en el __constructmétodo tenemos los siguientes parámetros: public function …

3
Cómo anular la clase de tipo virtual en Magento 2
Cómo anular el bloque VirtualType en Magento 2, quiero anular el siguiente bloque de tipo virtual con mi propio bloque, <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> Así que intenté anularlo desde mi módulo personalizado di.xmlcomo este, <preference for="Magento\Catalog\Block\Product\ListProduct" type="My\Vendor\Block\Product\ListProductSearch" /> Pero no funciona. Entonces, ¿cuál es la …

5
¿Por qué no puedo inyectar ProductRepositoryInterface en Magento 2?
Tengo una acción de controlador en la que me gustaría inyectar el repositorio de productos 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; …


2
¿Por qué algunas clases definen inyecciones tanto en su constructor como en di.xml?
No entiendo por qué, en algunas clases, sus inyecciones de dependencia se declaran dos veces, una en di.xmly en el constructor de la clase concreta. Por ejemplo Magento\Backend\Model\Url, di.xmltiene definido este conjunto de tipos para DI: <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" xsi:type="object"> …

2
¿Cómo agrego un número de seguimiento al envío del pedido actual en Magento 2?
Encontré códigos de muestra para Magento 1.x. Pero no tengo idea de cómo hacer esto en Magento 2. ¿Alguien puede describir cómo implementar esto usando la inyección de dependencia (DI) ? Gracias. $trackingDetail = array( 'carrier_code' => 'ups', 'title' => 'United Parcel Service', 'number' => 'TORD23254WERZXd3', // Replace with your …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.