Magento 2 - страница неопределенных свойств на странице администратора
Я создал маршрут и пункт меню администратора, связанный с этим маршрутом, но при попытке доступа к нему в браузере появляется сообщение об ошибке:
1 exception(s):
Exception #0 (Exception): Notice: Undefined property: Namespace\Mymodule\Controller\Adminhtml\Griglia\Index\Interceptor::$_resultPage in /Applications/MAMP/htdocs/magento2/app/code/Namespace/Mymodule/Controller/Adminhtml/Griglia/Index.php on line 34 ...... ............(MORE ERROR TEXT IS HERE) ....
Я могу видеть содержимое страницы на этом маршруте, если я сокращу обработку, выведя что-то в методе выполнения и возврата;, но я хочу, чтобы шаблон также загружался, используя макет и шаблон для этой страницы администратора.
Код в Controller/Adminhtmk/Griglia/Index.php является:
<?php
namespace Namespace\Mymodule\Controller\Adminhtml\Griglia;
class Index extends \Magento\Backend\App\Action
{
protected $resultPageFactory = false;
public function __construct(
\Magento\Backend\App\Action\Context $context,
\Magento\Framework\View\Result\PageFactory $resultPageFactory
) {
parent::__construct($context);
$this->resultPageFactory = $resultPageFactory;
}
public function execute()
{
//Call page factory to render layout and page content
$this->_setPageData();
return $this->getResultPage();
}
/*
* Check permission via ACL resource
*/
protected function _isAllowed()
{
return $this->_authorization->isAllowed('Namespace_Mymodule::griglia');
}
public function getResultPage()
{
if (is_null($this->_resultPage)) {
$this->_resultPage = $this->_resultPageFactory->create();
}
return $this->_resultPage;
}
protected function _setPageData()
{
$resultPage = $this->getResultPage();
$resultPage->setActiveMenu('Namespace_Mymodule::griglia');
$resultPage->getConfig()->getTitle()->prepend((__('Posts')));
return $this;
}
}
2
1 answers
Добавьте эту строку над конструктором:
protected $_resultPage;
И в методе getResultPage
замените это
$this->_resultPage = $this->_resultPageFactory->create();
С помощью этого
$this->_resultPage = $this->resultPageFactory->create();
4
Author: Marius, 2017-03-28 12:55:30