123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * Catalog breadcrumbs
- */
- namespace Magento\Catalog\Block;
- use Magento\Catalog\Helper\Data;
- use Magento\Framework\View\Element\Template\Context;
- use Magento\Store\Model\Store;
- class Breadcrumbs extends \Magento\Framework\View\Element\Template
- {
- /**
- * Catalog data
- *
- * @var Data
- */
- protected $_catalogData = null;
- /**
- * @param Context $context
- * @param Data $catalogData
- * @param array $data
- */
- public function __construct(Context $context, Data $catalogData, array $data = [])
- {
- $this->_catalogData = $catalogData;
- parent::__construct($context, $data);
- }
- /**
- * Retrieve HTML title value separator (with space)
- *
- * @param null|string|bool|int|Store $store
- * @return string
- */
- public function getTitleSeparator($store = null)
- {
- $separator = (string)$this->_scopeConfig->getValue(
- 'catalog/seo/title_separator',
- \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
- $store
- );
- return ' ' . $separator . ' ';
- }
- /**
- * 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();
- }
- }
|