我是Magento 2的新用户,并且我正在尝试开发插件,但是iv在过去2天一直停留在此问题上。我正在尝试以编程方式将新产品添加到Magento 2数据库。为此,我发现我需要将产品工厂依赖项注入到我的自定义插件中,但是我不知道如何执行此操作。我看到大多数插件中都有一个di.xml文件,所以我猜这代表依赖注入,我需要在此处添加相关代码,但不知道如何执行此操作。
我正在尝试使用Controller / Adminhtml / Index / Index.php中的产品工厂,这是我的目录结构:
我需要在di.xml中编写什么才能在Index的构造函数中获得此依赖关系?
这是我的Index.php代码:
<?php
namespace Sunoptic\Koppeling\Controller\Adminhtml\Index;
use Magento\Framework\Controller\ResultFactory;
class Index extends \Magento\Backend\App\Action
{
private $_productFactory;
private $_productRepository;
public function __construct(\Magento\Backend\App\Action\Context $context, \Magento\Catalog\Api\Data\ProductInterfaceFactory $productFactory)
{
parent::__construct($context);
$this->_productFactory = $productFactory;
}
public function execute()
{
/** @var \Magento\Framework\Controller\Result\Raw $result */
$result = $this->resultFactory->create(ResultFactory::TYPE_RAW);
$string = "";
$result->setContents($string);
return $result;
}
}
这可能由于依赖性问题而返回错误500。
我预计会出现此错误,但不知道如何实际添加这种依赖性。
答案 0 :(得分:0)
运行以下命令
php bin/magento setup:di:compile
每次通过class或di.xml向任何类中注入新的依赖项时,都需要运行此命令。
打开调试模式,以便在任何情况下都可以看到错误。
php bin/magento setup:debug:mode developer