Magento'yu 2.2.4'e yükselttim ve şimdi ürün sayfalarında ekmek kırıntılarım yok. Diğer sayfalarda görünürler ancak ürünlerde gösterilmezler. Kaynağı kontrol ettim ve 'ekmek kırıntıları' sınıfı ve bazı json params ile bir div olduğunu fark ettim, ama boş (konsolda hata yok).
Herhangi bir fikir?
GÜNCELLEME:
Açıklayamadığım bir nedenden ötürü, Magento'nun JS kullanarak üst menü navigasyonuna dayalı ürün sayfalarının kırıntılarını oluşturmaya başladığını öğrendim ve benim durumumda menüyü değiştirdiğimden ve farklı CSS seçicileri kullandığımdan, Çalışma.
Şimdi bunu düzeltebileceğime inanıyorum, ancak bunu yapmaları için iyi bir neden göremiyorum, bu çok kırılgan ...
Geçici Geçici Çözümüm (Birisi yardımcı olursa ...):
1. getCrumbs () yöntemini eklemek için bir modül oluşturun ve \ Magento \ Theme \ Block \ Html \ Breadcrumbs'u genişleten bir blok ekleyin * di.xml'e gerek yok
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. Ürün sayfasındaki ekmek kırıntıları şablonunu geçersiz kılın (app / design / frontend / Satıcı / Tema / Magento_Catalog / templates / product / 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; ?>