Buscar..


Reemplazo de Argumento

<!-- <moduleDir>/etc/<area>/di.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<!-- ... -->
    <type name="Vendor\Namespace\Model\SomeClass">
        <arguments>
            <argument name="object" xsi:type="object">Vendor\Namespace\Model\SomeOtherClass</argument>
        </arguments>
    </type>
</config>

Preferencia de clase

<!-- <moduleDir>/etc/<area>/di.xml -->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<!-- ... -->
    <preference
        for="Vendor\Namespace\Model\Example"
        type="Vendor\Namespace\Model\AnotherExample" />
<!-- ... -->
</config>

El Ejemplo anterior es una sintaxis del modelo central de anulación.

Aquí hay una lista de puntos que le describirán cómo hacerlo posible.

  1. moduleDir - Directorio de extensión Al igual que app/code/custom/extension aquí extension es el directorio en el que se ubicarán todas las carpetas de extensión necesarias.

  2. area - area será frontend o adminhtml

    • frontend - si la extensión usará la funcionalidad de frontend que di.xml va a di.xml en esta carpeta

    • adminhtml - si la extensión utilizará la funcionalidad de adminpanel que di.xml irá a esta carpeta

    • así que será app/code/custom/extension/etc/frontend/di.xml o app/code/custom/extension/etc/adminhtml/di.xml

    • Si desea utilizar tanto la funcionalidad como el archivo di.xml , irá directo a la carpeta, etc no es necesario colocarlo en la carpeta frontend o adminhtml . Me gusta - app/code/custom/extension/etc/di.xml

  3. for = "Vendor \ Namespace \ Model \ Example" aquí, la ruta del archivo que anulará la funcionalidad de la función deseada.

  4. type = "Vendor \ Namespace \ Model \ AnotherExample" aquí, la ruta del archivo que proporciona funciones que se anularán en el step - 3

Inyección Constructor

/**
 * @var \Vendor\Module\Helper\Data
 */
protected $customHelper;

/**
 * Constructor call
 * @param \Vendor\Module\Helper\Data $customHelper
 */
public function __construct(
    \Vendor\Module\Helper\Data $customHelper
)
{
    $this->customHelper = $customHelper;
    parent::__construct();
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow