Magento 2 Shopping-Cart

Nach Kunden-Login ist uns aufgefallen dass der Warenkorb gar nicht angezeigt wurde. Nur auf der Kunden-Konto Seite ist die sichtbar. Ob die angezeigt wurde oder nicht wurde in folgende Datei definiert C:\xampp_7_1_23\htdocs\oku-online\app\design\frontend\econcess\default\Magento_Checkout\templates\cart\minicart.phtml   Die If-Schleife lautet:   

$this->_objectManager->get('Magento\Customer\Model\Session');

if($customerSession->isLoggedIn()) { }

damit sie immer gültig ist haben wir die voraussetzung  || 1==1 hinzugefügt

$this->_objectManager->get('Magento\Customer\Model\Session');

if($customerSession->isLoggedIn()|| 1==1) {

 }

Also die Fehler liegt daran dass die If-Scheife nicht auf alle Seite funktioniert.  Die eventuelle Lösung steht unter https://magento.stackexchange.com/questions/91897/how-to-check-if-customer-is-logged-in-or-not-in-magento-2

So dieser Thread die  $customerSession->isLoggedIn()) sollte nicht direkt aufgeruft werden, sondern muss einen Helper erstellt werden. Für den Zweck verwenden wir einen bereits erstellten Helper und dort erstellen wir eine Data.php Datei \app\code\Template-Name\Helper-Name\Helper\Data.php

 Dort fügen wir folgendes Code ein

<?php

namespace template-name\helper-name\Helper;

use Magento\Framework\App\Helper\AbstractHelper;

/**

 * Created by Carl Owens (Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!)

 * Company: PartFire Ltd (www.partfire.co.uk)

 **/

class Data extends AbstractHelper

{

    /**

     * @var \Magento\Framework\App\Http\Context

     */

    private $httpContext;

    public function __construct(

        \Magento\Framework\App\Helper\Context $context,

        \Magento\Framework\App\Http\Context $httpContext

    ) {

        parent::__construct($context);

        $this->httpContext = $httpContext;

    }

    public function isLoggedInEconcess()

    {

        $isLoggedIn = $this->httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_AUTH);

        return $isLoggedIn;

    }

}

Danach in unseren Template  minicart.phtml verweisen wir die Helper-Datei und durch den Helper-Funktion ersetzen wir die

 

$customerSession->isLoggedIn :

 

 

$helperloggedin = $this->helper('Econcess\Mp4Allow\Helper\Data');

if ($helperloggedin->isLoggedInEconcess(){