Ich habe ein kleines Menüproblem. Die aktiven Registerkarten stimmen nicht mit der aktiven Klasse überein. Wenn ich den static_blockCache 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=falseden Block des betreffenden Topmenüs im default.xmlLayout 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;
}
}