Questions tagged [di]
Denotes questions related to Dependency Injection in Magento 2.
201
questions
0
votes
1
answer
74
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
0
votes
0
answers
49
views
Override Magento\Catalog\Model\Layer
I want to override the class
Magento\Catalog\Model\Layer
In my /etc/di.xml
<preference for="Magento\Catalog\Model\Layer" type="Custom\Module\Model\Layer" />
Then I did the ...
1
vote
1
answer
253
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&...
0
votes
1
answer
65
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 ...
0
votes
1
answer
286
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
0
votes
1
answer
40
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 '...
0
votes
1
answer
207
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 ...
0
votes
1
answer
782
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:...
0
votes
2
answers
263
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:
<...
0
votes
2
answers
54
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="...
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\...
0
votes
1
answer
1k
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 ...
0
votes
2
answers
422
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 ...
0
votes
2
answers
266
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/...
1
vote
0
answers
370
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\...
0
votes
1
answer
90
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/...
0
votes
2
answers
1k
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\...
0
votes
2
answers
679
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
...
0
votes
1
answer
236
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:
/...
0
votes
1
answer
301
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"?&...
1
vote
2
answers
975
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/...
0
votes
1
answer
181
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\...
0
votes
1
answer
186
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, ...
0
votes
2
answers
660
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\...
0
votes
2
answers
313
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....
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 ...
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\...
0
votes
1
answer
2k
views
Getting error Not registered handle cms_page_listing_data_source in Magento 2?
I have added some filter in Sales -> Order and for that add a di.xml file.
di.xml file
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&...
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-...
1
vote
1
answer
887
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"...
1
vote
0
answers
29
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 ...
1
vote
0
answers
27
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 ...
0
votes
1
answer
930
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 ...
0
votes
2
answers
546
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
/...
0
votes
2
answers
384
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://...
1
vote
1
answer
363
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\...
1
vote
2
answers
2k
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.
...
2
votes
1
answer
1k
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 ...
0
votes
0
answers
114
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....
1
vote
1
answer
1k
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:...
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\...
0
votes
1
answer
179
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 ...
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/...
18
votes
5
answers
7k
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\...
1
vote
0
answers
151
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 ...
2
votes
0
answers
192
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?
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 ...
0
votes
3
answers
160
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
1
vote
1
answer
80
views
Using composition in patches / install scripts
TL;DR:
Is there a way to declare virtual types and different arguments in di.xml of a module and have that configuration be picked up when the module gets installed without calling bin/magento module:...
0
votes
1
answer
786
views
How does Magento 2 sku generated automatically?
I want to know how does Magento 2 sku generated automaticlly.
I wonder when I type product name while creating new product in admin then its sku is automatically typed in sku field.
I researched ...