I have the following vendor module file:
vendor/magenest/module-instagram-shop/Block/Adminhtml/System/Config/Form/Button.php
Which is giving me some issues on my current Magento 2.3 instance, so I wanted to overwrite a function within this file. I checked the registration of that vendor module and it is:
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Magenest_InstagramShop',
__DIR__
);
What I did was:
Created:
app/code/Magenest/InstagramShop/Block/Adminhtml/System/Config/Form/Button.php
On that Button.php I made the changes I needed. But this didn't work, so I made an etc folder and created a di.xml file with the following code:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magenest\InstagramShop\Block\Adminhtml\System\Config\Form" type="Magenest\InstagramShop\Block\Adminhtml\System\Config\Form"/>
</config>
Then I ran:
php bin/magento setup:upgrade && php bin/magento setup:di:compile && php bin/magento setup:static-content:deploy -f && php bin/magento cache:flush && chmod -R 777 var/ pub/static/ generated/ && php bin/magento cache:flush
But when I go to the admin panel and into the module that is giving me issues, the same error persists. The error still points to: /var/www/html/vendor/magenest/module-instagram-shop/Block/Adminhtml/System/Config/Form/Button.php on line 77
SO my question is, how can I overwrite that specific vendor file? Do I need a registration.php even though I DON'T want a custom module just to extend a vendor one?