magento2
Beroende på injektion
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
moduleDir - Utökningskatalog Som
app/code/custom/extension
här ärextension
din katalog där alla nödvändiga mappar för tillägg kommer att placeras.area - area kommer att vara
frontend
elleradminhtml
frontend - om tillägg kommer att använda funktionaliteten för frontend än
di.xml
går till i den här mappenadminhtml - om tillägg kommer att använda funktionaliteten för adminpanel än
di.xml
går till i den här mappenså det kommer att vara
app/code/custom/extension/etc/frontend/di.xml
ellerapp/code/custom/extension/etc/adminhtml/di.xml
Om vill använda både funktionaliteten än
di.xml
filen går direkt i mappenetc
behöver du inte sätta ifrontend
elleradminhtml
mappen. Gilla -app/code/custom/extension/etc/di.xml
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.
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();
}