I have the following class in Magento 2:
namespace Vendor\MyModule\Block;
class ProductTab extends \Magento\Catalog\Block\Adminhtml\Category\Tab\Product
{
/**
* @var \Magento\Framework\App\Config\ScopeConfigInterface
*/
protected $_scopeConfig;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Backend\Helper\Data $backendHelper
* @param \Magento\Catalog\Model\ProductFactory $productFactory
* @param \Magento\Framework\Registry $coreRegistry
* @param array $data
* @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Backend\Helper\Data $backendHelper,
\Magento\Catalog\Model\ProductFactory $productFactory,
\Magento\Framework\Registry $coreRegistry,
array $data = [],
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
) {
$this->_productFactory = $productFactory;
$this->_coreRegistry = $coreRegistry;
$this->_scopeConfig = $scopeConfig;
parent::__construct($context, $backendHelper, $coreRegistry, $data);
}
}
After running rm -rf var/di && bin/magento setup:di:compile
I get the following error:
Errors during compilation: Vendor\MyModule\Block\ProductTab Incompatible argument type: Required type: \Magento\Catalog\Model\ProductFactory. Actual type: \Magento\Framework\Registry; File: /var/www/magento/app/code/Vendor/MyModule/Block/ProductTab.php Total Errors Count: 1
What have I done wrong? I don't get it... I just copied the construct-function of the parent and added a 6th argument to it (the scope config).