Ich habe ein kleines Menüproblem. Die aktiven Registerkarten stimmen nicht mit der aktiven Klasse überein. Wenn ich den static_block
Cache deaktiviere , funktioniert er wieder, sodass das Menü tatsächlich zwischengespeichert ist und weiterhin den zwischengespeicherten Inhalt anzeigt, unabhängig von der ausgewählten Registerkarte.
Ich habe versucht, cacheable=false
den Block des betreffenden Topmenüs im default.xml
Layout zu aktivieren, aber dies hat nichts geändert.
wenn jemand dieses Problem bereits hatte oder einen Vorsprung hat ...
Bearbeiten:
Ich habe es schnell behoben, indem ich das Topmenü aus dem Cache entfernt habe (wenn ich verstanden habe, was ich richtig gemacht habe), aber wie Sie sehen, ist es nicht schrecklich, aber es funktioniert jetzt sehr gut
<?php
namespace MyNamespace\Indo\Block\Html;
use Magento\Framework\Data\Tree\NodeFactory;
use Magento\Framework\Data\TreeFactory;
use Magento\Framework\View\Element\Template;
use Magento\Framework\View\LayoutFactory;
use TemplateMonster\Megamenu\Helper\Data;
class Topmenu extends \Magento\Theme\Block\Html\Topmenu
{
public $_helper;
public $_layoutFactory;
public function __construct(
Template\Context $context,
NodeFactory $nodeFactory,
TreeFactory $treeFactory,
Data $helper,
LayoutFactory $layoutFactory,
array $data = []
)
{
parent::__construct($context, $nodeFactory, $treeFactory, $data);
$this->_helper = $helper;
$this->_layoutFactory = $layoutFactory;
}
/**
* Get block cache life time
*
* @return int
* @since 100.1.0
*/
protected function getCacheLifetime()
{
return 0;
}
}