Skip to main content

Questions tagged [di]

Denotes questions related to Dependency Injection in Magento 2.

Filter by
Sorted by
Tagged with
0 votes
0 answers
28 views

Creating a Custom Helper Class with Coding Best Practices ? Code Review Request

Adobe Commerce ver. 2.4.6-p2, multi-site instance Inheriting code base with numerous custom modules that are not scoped - but need to scope them as individual sites are migrated to new frontend stack ...
emp1211's user avatar
0 votes
1 answer
35 views

Magento 2 Coding Practice

recently I came across one developer's code in magento 2, where he was accessing objects in another class to avoid dependency injections. Like for example we have Vendor\Feature\Helpler\Data class and ...
Knight017's user avatar
  • 632
0 votes
0 answers
37 views

Remove Type and Arguments from di.xml

How do you remove a Type and the associated arguments from a di.xml file? Specifically, I would like to remove the "Apple Pay" button from the Shopping cart. I have found the below code, ...
A. Andersen's user avatar
0 votes
1 answer
62 views

Is it possible to override type configuration in the di.xml of a module in Magento2?

I want to override the file "Fooman\EmailAttachments\Observer\AbstractSendInvoiceObserver". Here is the code in the di.xml. <!-- module introduced preferences --> <preference for=&...
Jancy Abraham's user avatar
0 votes
1 answer
172 views

Page Builder use Child in the di.xml

If we want to add a chiid in page builder like slider how will we inject the child using di.xml
Rana Zain's user avatar
  • 676
1 vote
1 answer
561 views

Magento 2 di.xml reuse array arguments

In Magento 2 di.xml we can inject an array to a class like this: <type name="Vendor\Module\Model\Foo"> <arguments> <argument name="data" xsi:type="array&...
Hieu Duong's user avatar
1 vote
1 answer
166 views

Does area emulation also influence DI / plugins?

We are reading the Magento configurable configuration inside an API call: private function getSpConfig($product) { if ($product->getTypeId() != 'configurable') { return ...
Alex's user avatar
  • 13.9k
1 vote
1 answer
415 views

How argument and item node work in di.xml in Magento 2?

I just wanted to know in deeply how argument, type , virtual type and item work in di.xml
Mark's user avatar
  • 63
0 votes
1 answer
55 views

How can I get the admin edit user url key for a specific user if I have the user_id and account info, what are the classes/methods for di?

Example: http://localhost/admin/admin/user/edit/user_id/5/key/db1082c352e51cfb817ce0335dd060cf6e953568daf2da25cca24eadb04dc884/ I want to return '...
Justin Collins's user avatar
0 votes
1 answer
251 views

Inject dependency based on php version

I use soap to do some calls to a remote server, php has changed method signature for __doRequest between php 7.4 & 8.x, is there any di.xml tag that can conditionally change the loaded class based ...
madalinivascu's user avatar
0 votes
1 answer
1k views

Override Abstract class in Magento 2 not working

I'm using magento v2.4.3, i tried to override \Magento\Customer\Model\Address\AbstractAddress like this: app/code/Vendor/Module/etc/module.xml <?xml version="1.0" ?> <config xmlns:...
blue's user avatar
  • 128
0 votes
2 answers
489 views

Magento 2 - How to disable a plugin

Problem: I am using the extension Fooman_PdfCustomiser. I need to disable the plugin named fooman_pdfcustomiser_paymentinfoblock. vendor/fooman/pdfcustomiser-implementation-m2/src/etc/di.xml: <...
Black's user avatar
  • 3,390
0 votes
2 answers
72 views

What is the meaning of below code (DI injection of proxy)

Can someone explain me what does this code does, when we need this. di.xml <type name="Magento\Wishlist\Helper\Data"> <arguments> <argument name="...
ravichandra's user avatar
0 votes
1 answer
17 views

What does the meaning of below piece of code (DI)

I found this code in a di.xml file with the code below. can someone tell me what the piece of code means. <virtualType name="Magento\Downloadable\Pricing\Price\Pool" type="Magento\...
ravichandra's user avatar
0 votes
0 answers
2k views

Admin Grid wont show and getting "Request validation failed for action" error in debug

I was trying to create an admin grid in the adminhtml trying to learn how they function and work and I ran into an issue following this guide: Mageplaza. I've been trying to debug where the issue is ...
Zyzzx's user avatar
  • 81
0 votes
2 answers
522 views

Magento 2 - Can't override class - must be an instance of

I created a preference override for Magento\Quote\Model\Quote\Item\CartItemPersister in my own module. But I get this error in the browser developer console: Total: Type Error occurred when creating ...
Black's user avatar
  • 3,390
0 votes
2 answers
393 views

I get a blank page after adding $block->getLayout()->createBlock() to the Module?

I am trying to inject \Magento\Customer\Model\Session into the QuickOrder module. I want the page to show a different message when the user is not logged in. In the directory app/code/Magento/...
Payman Khayree's user avatar
1 vote
0 answers
384 views

Magento 2 override resource model collection not working

I want to override Magento Reports module and it's not working. here's my code : di.xml <preference for="Magento\Reports\Model\ResourceModel\Report\Collection" type="SZK\Shamsi\Model\...
Mahdi Alikhani's user avatar
0 votes
1 answer
102 views

Error during compilation - Extra parameters passed to parent construct

During deployment when i run setup:di:compile i got error in one of my block, Extra parameters passed to parent construct: $data Guide me on this issue File name:index.php File location:app/code/...
Sabin's user avatar
  • 1
1 vote
2 answers
2k views

How to change the constructor parameter in magento2?

public function __construct( \Magento\Framework\Data\Collection\EntityFactoryInterface $entity, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\...
Abhay Agrawal's user avatar
0 votes
2 answers
982 views

Magento 2 - preference override not working for method sendConfirmationRequestEmail of module-newsletter

I try to override the method sendConfirmationRequestEmail from the module-newsletter Module in vendor\magento\module-newsletter\Model\Subscriber.php. Attempt: app\code\Company\Newsletter2Go\etc\di.xml ...
Black's user avatar
  • 3,390
0 votes
1 answer
280 views

Override Model from third party vendor in custom theme

I am trying to override a Model from a third Party vendor in a custom-theme. The original file was: /vendor/3rdpartyompany/3rdpartymodule/Model/Formatter/BaseImage.php I copied that file over to: /...
Mario's user avatar
  • 478
0 votes
1 answer
346 views

Magento 2 - Product gallery magnifier not working after overriding Gallery class

My magnifier is not showing anymore IF THE PRODUCT HAS MULTIPLE IMAGES, after I have overriden the gallery class! I have enabled the magnifier in THEME\etc\view.xml: <?xml version="1.0"?&...
Black's user avatar
  • 3,390
1 vote
2 answers
1k views

Error during compilation in magento2 .3 Incompatible argument type: Required type:

Webkul\Marketplace\Model\Order\Pdf\Creditmemo Incompatible argument type: Required type: \Magento\Store\Model\App\Emulation. Actual type: \Magento\Framework\Locale\ResolverInterface; File: /var/www/...
Sonali Ghule's user avatar
0 votes
1 answer
222 views

Error during compilation of Magento 2 Incompatible argument type : Required type:

Webkul\VendorPos\Model\ResourceModel\Orders\Grid\Collection Incompatible argument type: Required type: \Magento\Framework\App\Config\ScopeConfigInterface. Actual type: \Magento\Framework\DB\Adapter\...
Sonali Ghule's user avatar
0 votes
1 answer
236 views

Adding a productAttribute handler in Magento 2.4

I'd like my Magento 2.4 module to be able to modify the output of one of the product attributes programatically. I see that the ability to create a handler for this purpose was added in Magento 2.3.4, ...
Nick's user avatar
  • 121
0 votes
2 answers
788 views

How do I get an order collection in admin order view using the email address of the current order?

I am trying to build an order history table to display previous orders (order number/date/items ordered, etc) from a customer order in the admin order view (Magento\Sales\Block\Adminhtml\Order\View\...
wss web's user avatar
  • 13
0 votes
2 answers
371 views

Plugin for Magento\Shipping\Model\Rate\Result not working

I am trying to disable the default sorting based on price, that is happening on shipping methods. I found that this is happening in sortRatesByPrice() vendor/magento/module-shipping/Model/Rate/Result....
puntable's user avatar
  • 528
0 votes
1 answer
2k views

Search $block->getData('configProvider') in form.mini.phtml returns null after upgrade to 2.3.6

In 2.3.6, the following line was added to form.mini.phtml: $configProvider = $block->getData('configProvider'); Since the upgrade, this returns null and causes a fatal error due to this subsequent ...
mattf10's user avatar
  • 33
0 votes
1 answer
2k views

Is it possible to override a vendor module's di.xml file in Magento2?

So a module installed via composer lives in vendor/module, and I'd like to change its etc/di.xml from this: <virtualType name="customCategoryCollection" type="Magento\...
SantiBM's user avatar
  • 1,370
1 vote
3 answers
2k views

Magento 2 di.xml Parameter configuration inheritance explanation with example

I read about the Parameter configuration inheritance in Magento documentation but not able to understand the concept properly! https://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/di-xml-...
Bhaumik Upadhyay's user avatar
1 vote
1 answer
1k views

Why I'm receiving an error messages Class does not exist when running DI compile?

Why am I receiving error messages "Class does not exist" when running DI compile? I removed some modules using the node replace in my composer.json, as you can see below. "replace"...
Rafael Corrêa Gomes's user avatar
1 vote
0 answers
30 views

DI compilation error when referenced module is not installed

I have a module that integrates with other modules from other developers. These other modules may or may not be installed, it is different for each user. As an example, the MSG_InstantSearch module ...
Ben Tideswell's user avatar
1 vote
0 answers
40 views

Is it possible to retrieve dependency injected arguments in another class?

Is it possible to retrieve dependency injected arguments in another class? For example, we have a class Vendor\Module\Block\Autocomplete. // app/code/Vendor/Module/Block/Autocomplete.php namespace ...
Quisse's user avatar
  • 860
0 votes
1 answer
1k views

Dependency Injection (di.xml) - (virtualType vs type) Magento 2 xsi:type='object'

Can someone please explain when you would use <type/> or <virtualType in your di.xml file? I want to make sure I understand it correctly.. At the moment, this is what I sort of think the ...
CvRChameleon's user avatar
0 votes
2 answers
599 views

Magento 2.3 - Error related to Amasty shopby while RUNNING setup di:compile

MiBPHP Fatal error: Declaration of Amasty\Shopby\Model\Source\Attribute\Extended::toOptionArray() must be compatible with Amasty\Shopby\Model\Source\Attribute::toOptionArray($boolean = 1) in /...
Yousaf's user avatar
  • 384
0 votes
2 answers
537 views

Override Magento 2 Order Invoice PDF

I can not seem to override the Magento Invoice class. I've created a module, installed it, enabled it. I have the following in my di.xml file <?xml version="1.0"?> <config xmlns:xsi="http://...
Josh Harmon's user avatar
1 vote
1 answer
457 views

Not able to use virtualType as Action constructor argument

In short I seem unable to use a virtualType I created as an argument in my Action's contructor but everything works fine when using a concrete class instead. Index.php (my action): namespace Unit1\...
frezq's user avatar
  • 155
3 votes
2 answers
3k views

What is the use of php bin/magento dev:di:info command?

With Magento 2.3, console command found which helps developers to find all the classes related to dependency injection. It seems that it shows dependency Injection classes from di.xml from all areas. ...
sandip's user avatar
  • 4,034
2 votes
1 answer
2k views

Magento 2 Override public static method of framework class

I want to override public static function getCorrectFileName method of Magento\Framework\File\Uploader, I have check with Preference and Plugin but it is not working for me. Anyone have idea about ...
Niranjan Gondaliya's user avatar
0 votes
0 answers
128 views

aroundSavePaymentInformationAndPlaceOrder plugin not working in magento 2

etc/di.xml <?xml version="1.0" encoding="UTF-8"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config....
prabhakaran7's user avatar
  • 1,097
1 vote
1 answer
2k views

Magento 2 Injecting Object in $data array

I am trying to inject my custom object in constructor like this in di.xml <type name="Magento\CatalogSearch\Block\Advanced\Result"> <arguments> <argument name="data" xsi:...
Amit Singh's user avatar
  • 1,775
10 votes
1 answer
1k views

What is/means/does Magento\Framework\EntityManager\MetadataPool and Magento\Framework\EntityManager\Operation\ExtensionPool

There are new things we can see at Magento 2.3 in di.xml for service contracts. let's give an example:Magento_Cms module Like Magento\Framework\EntityManager\MetadataPool Magento\Framework\...
Amit Bera's user avatar
  • 77.6k
0 votes
1 answer
192 views

Magento 2 Class CoinGate\Merchant does not exist

I have installed the CoinGage_Merchant module in Magento 2.3 setup but when I fire di:compile command it is showing below error. I set the generated folder permission 777 before compile command but ...
Utsav Gupta's user avatar
  • 1,243
1 vote
1 answer
39 views

Why avoiding ObjectManager can save us from multiple issues if Magento upgrade?

A new dependency injection framework will be used for the code. By avoiding ObjectManager in Magento 2, you won’t face multiple issues caused by the improvement. source:https://firebearstudio.com/blog/...
Sagar Parikh's user avatar
18 votes
5 answers
8k views

Magento 2.3.3 Fails on magento setup:di:compile with an error mentioning InvoiceFlexFieldProcessorInterface

I have installed the new Magento 2.3.3 version. After I have run the command: php bin/magento setup:di:compile I have Faced the following error: PHP Fatal error: Interface 'Vertex\Tax\Model\...
Hardik Makwana's user avatar
1 vote
0 answers
162 views

Di.xml error Cannot instantiate interface

I am trying to use the di.xml to pull a table from different module to populate a dropdown in the admin panel. When I write the XML code below it is throwing this error: PHP Fatal error: Uncaught ...
WS_Marc's user avatar
  • 13
2 votes
0 answers
271 views

Where are di.xml files merged?

My questions is pretty simple and straight forward. Somewhere in the code di.xml files are read and merged. Where is this happening?
vitoriodachef's user avatar
1 vote
1 answer
1k views

Magento 2: Override di.xml in custom theme

I have a module in vendor/company/module. I have created the following folder to override files. /vendor/theme/theme-frontend-default/Company_Module. I am able to override files in view folder but I ...
mysterious's user avatar
0 votes
3 answers
163 views

Error while running di:compile command

Getting ReflectionException] Class PayPal\Api\PayoutSenderBatchHeader does not exist error while running php bin/magento setup:di:compile command
Punith's user avatar
  • 61

1
2 3 4 5