Sök…


Byte av argument

<!-- <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>

Klasspreferens

<!-- <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>

Ovanstående exempel är en syntax för åsidosättande kärnmodell.

Här är en lista med punkter som beskriver hur du gör det möjligt

  1. moduleDir - Utökningskatalog Som app/code/custom/extension här är extension din katalog där alla nödvändiga mappar för tillägg kommer att placeras.

  2. area - area kommer att vara frontend eller adminhtml

    • frontend - om tillägg kommer att använda funktionaliteten för frontend än di.xml går till i den här mappen

    • adminhtml - om tillägg kommer att använda funktionaliteten för adminpanel än di.xml går till i den här mappen

    • så det kommer att vara app/code/custom/extension/etc/frontend/di.xml eller app/code/custom/extension/etc/adminhtml/di.xml

    • Om vill använda både funktionaliteten än di.xml filen går direkt i mappen etc behöver du inte sätta i frontend eller adminhtml mappen. Gilla - app/code/custom/extension/etc/di.xml

  3. för = "Leverantör \ Namespace \ Model \ Exempel" här, sökvägen för filen som kommer att åsidosätta funktionaliteten för den önskade funktionen.

  4. typ = "Leverantör \ Namespace \ Model \ AnotherExample" här, sökvägen för filen som ger funktioner som kommer att åsidosättas av step - 3

Constructor Injection

/**
 * @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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow