Saya memutakhirkan Magento ke 2.2.4 & sekarang saya tidak memiliki remah roti pada halaman produk. Mereka muncul di halaman lain tetapi tidak pada produk. Saya memeriksa sumber & memperhatikan bahwa ada div dengan kelas 'breadcrumbs' & beberapa json params, tetapi kosong (tidak ada kesalahan pada konsol).
Ada ide?
UPDATE:
Saya menemukan bahwa karena suatu alasan saya tidak dapat menjelaskan, Magento mulai membangun remah roti dari halaman produk berdasarkan navigasi menu utama menggunakan JS & karena dalam kasus saya saya mengubah menu & menggunakan pemilih CSS yang berbeda, itu berhenti kerja.
Saya percaya bahwa sekarang saya dapat memperbaikinya, tetapi saya tidak dapat melihat alasan yang baik bagi mereka untuk melakukan itu, itu terlalu rapuh ...
Solusi Sementara Saya (Jika itu membantu seseorang ...):
1. Buat modul & tambahkan blok yang memanjang \ Magento \ Tema \ Blok \ Html \ Breadcrumbs untuk menambahkan metode getCrumbs () * Tidak perlu di.xml
namespace Vendor\Module\Block\Html;
class Breadcrumbs extends \Magento\Theme\Block\Html\Breadcrumbs
{
public function getCrumbs()
{
return $this->_crumbs;
}
public function getBaseUrl()
{
return $this->_storeManager->getStore()->getBaseUrl();
}
}
2. Mengganti template remah roti pada halaman produk (aplikasi / desain / antarmuka / Vendor / Tema / Magento_Catalog / template / produk / breadcrumbs.phtml)
<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$catalogData = $objectManager->create('Magento\Catalog\Helper\Data');
$crumbs = false;
if ($breadcrumbsBlock = $objectManager->create('Vendor\Module\Block\Html\Breadcrumbs')) {
$breadcrumbsBlock->addCrumb(
'home',
[
'label' => __('Home'),
'title' => __('Go to Home Page'),
'link' => $breadcrumbsBlock->getBaseUrl()
]
);
$path = $catalogData->getBreadcrumbPath();
foreach ((array)$path as $name => $breadcrumb) {
$breadcrumbsBlock->addCrumb($name, $breadcrumb);
}
$crumbs = $breadcrumbsBlock->getCrumbs();
}
?>
<?php if ($crumbs && is_array($crumbs)) : ?>
<div class="breadcrumbs">
<ul class="items">
<?php foreach ($crumbs as $crumbName => $crumbInfo) : ?>
<li class="item <?= /* @escapeNotVerified */ $crumbName ?>">
<?php if ($crumbInfo['link']) : ?>
<a href="<?= /* @escapeNotVerified */ $crumbInfo['link'] ?>" title="<?= $block->escapeHtml($crumbInfo['title']) ?>"><?= $block->escapeHtml($crumbInfo['label']) ?></a>
<?php elseif ($crumbInfo['last']) : ?>
<strong><?= $block->escapeHtml($crumbInfo['label']) ?></strong>
<?php else: ?>
<?= $block->escapeHtml($crumbInfo['label']) ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>