Hallo Zusammen, Ich würde gerne generelle eine Login Seite vor den Shop schalten. Für den Login soll natürlich die übliche Anmeldung genutzt werden. Hat so etwas jemand schon mal mit den Shopware Boardmitteln realisiert. Ziel ist es einen geschlossenen Shop zu haben ohne zahlreiche Template anzufassen und bestimmte Bereiche mit {if !$sBlockUser} zu versehen. MfG Leo
Hallo, sollen alle Benutzer automatisch auf die Login-Landingpage umgeleitet werden? Soll die Registrierung möglich sein, oder legst du die Benutzer die das System nutzen sollen selbst an? Du könntest hierzu z.B. die Funktion sLoadConfig aus der Klasse sCore.php überschreiben, einfach in der Datei engine/core/class/inherit/myCore.php die folgende Funktion hinzufügen: function sLoadConfig() { parent::sLoadConfig(); if (!$this-\>sSYSTEM-\>sMODULES['sAdmin']-\>sCheckUser()){ $\_GET["sViewport"] = "login"; } }
So müssten alle nicht eingeloggten Kunden grundsätzlich auf der Login-Seite landen. Je nachdem, was du genau umsetzen willst, sind eventuell noch weitere Anpassungen erforderlich. Dann nochmal melden!
Hallo, danke! Schon nicht schlecht. Allerdings noch ein kleiner Fehler. Missing argument 2 for sViewportLogin::sViewportLogin(),… Wie muss der 2. Parameter heißen? Die Kunden sollen sich nicht selbst registrieren können. Diese Funktion soll ausgeschlatet sein! Gibt es einen Parameter oder muss man da ein Template anfasssen? Gruß Leo
Okay, du musst noch definieren, auf welche Seite der Kunde nach dem Login umgeleitet werden soll. Einfach $_GET[“sViewport”] auf “admin” setzen, statt auf “login”. Dann sollte es funktionieren. Also neuer Code: function sLoadConfig() { parent::sLoadConfig(); if (!$this-\>sSYSTEM-\>sMODULES['sAdmin']-\>sCheckUser()){ $\_GET["sViewport"] = "admin"; $this-\>sSYSTEM-\>\_SESSION["redirectAfterLogin"] = "home"; }elseif (!empty($this-\>sSYSTEM-\>\_SESSION["redirectAfterLogin"]){ $\_GET["sViewport"] = $this-\>sSYSTEM-\>\_SESSION["redirectAfterLogin"]; unset($this-\>sSYSTEM-\>\_SESSION["redirectAfterLogin"]); } }
Damit leitet er dich zuerst auf die “Mein Konto” Seite um, da du nicht eingeloggt bist, auf die Login-Seite. Nach dem Login würde er dich dann auf die Startseite umleiten. Das kannst du beinflussen indem du die Variable $this->sSYSTEM->_SESSION[“redirectAfterLogin”] mit dem Namen des Viewports fütterst, auf den umgeleitet werden soll. Der nicht einloggte Besucher kann mit diesem Code nur auf die Login-Seite, sich also auch nicht selbst registrieren.