24 protected $_template =
'Magento_Theme::html/breadcrumbs.phtml';
31 protected $_properties = [
'label',
'title',
'link',
'first',
'last',
'readonly'];
60 Json $serializer =
null 62 parent::__construct($context,
$data);
74 public function addCrumb($crumbName, $crumbInfo)
76 foreach ($this->_properties as $key) {
77 if (!isset($crumbInfo[$key])) {
78 $crumbInfo[$key] =
null;
82 if (!isset($this->_crumbs[$crumbName]) || !$this->_crumbs[$crumbName][
'readonly']) {
83 $this->_crumbs[$crumbName] = $crumbInfo;
98 if ($this->_cacheKeyInfo ===
null) {
99 $this->_cacheKeyInfo = parent::getCacheKeyInfo() + [
100 'crumbs' => base64_encode($this->serializer->serialize($this->_crumbs)),
114 if (is_array($this->_crumbs)) {
115 reset($this->_crumbs);
116 $this->_crumbs[key($this->_crumbs)][
'first'] =
true;
118 $this->_crumbs[key($this->_crumbs)][
'last'] =
true;
120 $this->
assign(
'crumbs', $this->_crumbs);
122 return parent::_toHtml();
__construct(Template\Context $context, array $data=[], Json $serializer=null)
addCrumb($crumbName, $crumbInfo)
assign($key, $value=null)