Example #1
0
 /**
  * Preparing layout
  *
  * @return \Magento\Catalog\Block\Breadcrumbs
  */
 protected function _prepareLayout()
 {
     if ($breadcrumbsBlock = $this->getLayout()->getBlock('breadcrumbs')) {
         $breadcrumbsBlock->addCrumb('home', ['label' => __('Home'), 'title' => __('Go to Home Page'), 'link' => $this->_storeManager->getStore()->getBaseUrl()]);
         $title = [];
         $path = $this->_catalogData->getBreadcrumbPath();
         foreach ($path as $name => $breadcrumb) {
             $breadcrumbsBlock->addCrumb($name, $breadcrumb);
             $title[] = $breadcrumb['label'];
         }
         $this->pageConfig->getTitle()->set(join($this->getTitleSeparator(), array_reverse($title)));
     }
     return parent::_prepareLayout();
 }
Example #2
0
 /**
  * @magentoDataFixture Magento/Catalog/_files/categories.php
  */
 public function testGetBreadcrumbPath()
 {
     $category = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Catalog\\Model\\Category');
     $category->load(5);
     /** @var $objectManager \Magento\TestFramework\ObjectManager */
     $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     $objectManager->get('Magento\\Framework\\Registry')->register('current_category', $category);
     try {
         $path = $this->helper->getBreadcrumbPath();
         $this->assertInternalType('array', $path);
         $this->assertEquals(['category3', 'category4', 'category5'], array_keys($path));
         $this->assertArrayHasKey('label', $path['category3']);
         $this->assertArrayHasKey('link', $path['category3']);
         $objectManager->get('Magento\\Framework\\Registry')->unregister('current_category');
     } catch (\Exception $e) {
         $objectManager->get('Magento\\Framework\\Registry')->unregister('current_category');
         throw $e;
     }
 }