Получите Breadcrumb Path в пользовательском контроллере Magento 2 - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь получить путь крошки в моем контроллере с помощью этого помощника

public function __construct(\Magento\Catalog\Helper\Data $catalogData, ) {
$this->catalogData = $catalogData;
}
$path = $this->catalogData->getBreadcrumbPath();

Когда я печатаю $path, это дает мне пустой массив. Но когда я получаю эту вспомогательную функцию в любом файле продукта phtml, как этот

$helper = $this->helper('\Magento\Catalog\Helper\Data');
$values = $helper->getBreadcrumbPath();

, он дает мне полный путь в phtml. Как я могу получить доступ к этой функции в моем контроллере?

1 Ответ

0 голосов
/ 13 марта 2020

Вы получите крошку в вашем пользовательском контроллере, выполнив следующее:

namespace Vendor\ModuleName\Controller\Index;

Class ControllerClass extends \Magento\Framework\App\Action\Action{

protected $catalogData;
protected $_pageFactory;

public function __construct(
    \Magento\Framework\App\Action\Context $context,
    \Magento\Catalog\Helper\Data $catalogData,
    \Magento\Framework\View\Result\PageFactory $pageFactory)
{

    $this->catalogData = $catalogData;
    $this->_pageFactory = $pageFactory;
    return parent::__construct($context);
}
public function execute()
{
    $path = $this->catalogData->getBreadcrumbPath();
    print_r($path);
    return $this->_pageFactory->create();
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...