Magento 2未捕获的TypeError:传递给__construct()的参数1必须是Magento \ Backend \ Block \ Template \ Context的实例

时间:2018-07-12 06:57:39

标签: magento2

在Magento 2.2中,我已经创建了一个模块,并且出现了此错误。

  

未捕获的TypeError:传递给__construct()的参数1必须是   Magento \ Backend \ Block \ Template \ Context的实例,   Magento \ Framework \ ObjectManager \ ObjectManager给出

我的文件路径app\code\Namespace\Modulename\Block\Adminhtml\Exporter\Edit\Tab\Form.php

<?php
namespace Namespace\Modulename\Block\Adminhtml\Exporter\Edit\Tab;

class Form extends \Magento\Backend\Block\Widget\Form\Generic implements \Magento\Backend\Block\Widget\Tab\TabInterface
{
    protected $exporter;

    public function __construct(
       \Magento\Backend\Block\Template\Context $context,
       \Magento\Framework\Registry $registry,
       \Magento\Framework\Data\FormFactory $formFactory,
       \Raveinfosys\Orderexporter\Model\Exporter $exporter,
        array $data = []
    ) {
        $this->exporter = $exporter;
        $this->_formFactory = $formFactory;

        parent::__construct($context, $registry, $formFactory, $data);
    }

他们在

处显示错误
  

公共函数__construct

1 个答案:

答案 0 :(得分:0)

通常,Magento将构造函数缓存在var/generation文件夹中,因此,如果清除var/generation内容,则Magento将重新生成拦截器。

rm -rf var/generation var/di
  

清除var/generation and var/di可以解决此问题。