Ошибка интерфейса пользовательского модуля Magento 2
Я использую Magento 2 CE версии 2.1.0
Я следую http://www.mage-world.com/blog/how-to-create-a-simple-module-in-magento-2-0.html
Я выполнил шаги, когда я запускаю, это приводит к ошибке ниже.
{ путь к папке}\magento2\app\code\Custom\Module\Controller\Index\Index.php
namespace Custom\Module\Controller\Index;
use Magento\Framework\Controller\Result\ForwardFactory;
use Magento\Framework\App\Action\Context;
class Index extends \Magento\Framework\App\Action\Action {
/**
* @var \Magento\Framework\Controller\Result\ForwardFactory
*/
protected $resultForwardFactory;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory
*/
public function __construct(
\Magento\Framework\App\Action\Context $context, \Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory
) {
$this->resultForwardFactory = $resultForwardFactory;
parent::__construct($context);
}
public function execute() {
$resultPageFactory = $this->resultPageFactory->create();
// Add page title
$resultPageFactory->getConfig()->getTitle()->set(__('Sample Module'));
// Add breadcrumb
/** @var \Magento\Theme\Block\Html\Breadcrumbs */
$breadcrumbs = $resultPageFactory->getLayout()->getBlock('breadcrumbs');
$breadcrumbs->addCrumb('home', [
'label' => __('Home'),
'title' => __('Home'),
'link' => $this->_url->getUrl('')
]
);
$breadcrumbs->addCrumb('custom_module', [
'label' => __('Test'),
'title' => __('Test')
]
);
return $resultPageFactory;
}
}
1 исключение (исключения): Исключение #0 (Исключение): Исправимая ошибка: Аргумент 2 передано в Пользовательский модуль\\регулятор\индекс\индексе::__конструкт() должен быть экземпляром для Magento\рамки\ - контроллер\результат\ForwardFactory, не дали, позвонил в {папка путь}\magento2\var\generation\Custom\Module\Controller\Index\Index\Interceptor.php на линии 14 и определенными в {папка путь}\magento2\app\code\Custom\Module\Controller\Index\Index.php о линия 21
1 answers
Добавьте этот код в vendor\Module\Controller\Index/Index.php
<?php
namespace vendor\Module\Controller\Index;
use Magento\Framework\View\Result\PageFactory;
use Magento\Framework\App\Action\Context;
class Index extends \Magento\Framework\App\Action\Action {
/**
* @var \Magento\Framework\Controller\Result\ForwardFactory
*/
protected $resultPageFactory;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Framework\Controller\Result\ForwardFactory $resultForwardFactory
*/
public function __construct(
\Magento\Framework\App\Action\Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
$this->resultPageFactory = $resultPageFactory;
parent::__construct($context);
}
public function execute() {
$resultPageFactory = $this->resultPageFactory->create();
// Add page title
$resultPageFactory->getConfig()->getTitle()->set(__('Sample Module'));
// Add breadcrumb
/** @var \Magento\Theme\Block\Html\Breadcrumbs */
$breadcrumbs = $resultPageFactory->getLayout()->getBlock('breadcrumbs');
$breadcrumbs->addCrumb('home', [
'label' => __('Home'),
'title' => __('Home'),
'link' => $this->_url->getUrl('')
]
);
$breadcrumbs->addCrumb('custom_module', [
'label' => __('Test'),
'title' => __('Test')
]
);
return $resultPageFactory;
}
}
После запуска
bin/magento setup:upgrade
Удалить var/*
rm -rf var/*
Теперь проверьте, работает ли это для меня.