Ich habe die folgende Klasse, die ich verwende, um das Hinzufügen zum Warenkorb auf benutzerdefinierte Weise zu testen.
use Magento\Framework\App\Action;
use Magento\Checkout\Model\Cart;
class Add extends Action\Action
{
protected $cart;
public function __construct(
Action\Context $context,
Cart $cart
){
$this->cart = $cart;
parent::__construct($context);
}
public function execute()
{
$this->cart->addProductsByIds([1])
->save();
}
}
Das funktioniert super. Wenn Sie den Warenkorb anzeigen, wird mein Artikel angezeigt, in der Datenbank usw. sieht alles cool aus. Der Minicart zeigt jedoch weiterhin an, als ob sich keine Artikel im Warenkorb befinden.
Wenn ich dann ein anderes Produkt in den Warenkorb lege, indem ich auf der Produkt- oder Listenseite auf die Schaltfläche "In den Warenkorb" klicke, wird es dem Warenkorb hinzugefügt und der Minicart aktualisiert, um beide Artikel anzuzeigen.
Wo löst es den Minicart aus, sich selbst zu aktualisieren, oder woher weiß der Minicart, dass er aktualisiert werden muss?