Ich arbeite an einem Prestashop-Modul, um den Katalog-Modus ON oder OFF zu aktivieren, wenn der Benutzer nicht angemeldet oder angemeldet ist.Prestashop Katalog-Modus ON/OFF, wenn Benutzer nicht angemeldet/geloggt wurde
Funktioniert gut, aber habe ein Problem.
Ich möchte nicht protokollierte Benutzer Preise sehen und dürfen bestellen. Aber mit der Lösung, die ich gefunden habe, wenn die erste Verbindung (Modus Katalog OFF) nicht angemeldeten Benutzer laden Sie die Seite, die Katalog-Mod einschalten, aber er kann Preise sehen (muss neu zu laden, um Preise zu verbergen) Also zuerst laden Katalog-Modus ON und zweite Laden Sie den Katalogmodus für die Anzeige.
Ich habe ein js-Skript gefunden, das automatisch neu geladen wird, um mit dem neuen Modus wirksam zu werden, aber die Ladezeit der Seite ist offensichtlich doppelt so lang. Hier
ist die Funktion:
public function hookHeader()
{
$logged = $this->context->customer->isLogged();
if (!$logged) {
Configuration::updateValue('PS_CATALOG_MODE', true);
} else {
Configuration::updateValue('PS_CATALOG_MODE', false);
}
// reload the page once more
echo '
<script type="text/javascript">
(function() {
if(window.localStorage) {
if(!localStorage.getItem("firstLoad")) {
localStorage[ "firstLoad" ] = true;
window.location.reload();
} else {
localStorage.removeItem("firstLoad");
}
}
})();
</script>
';
}
Hoffnung jemand mir dabei helfen könnte. Vielen Dank.
Dank für die Informationen
EDIT
eine Bedingung hinzufügen, wenn Context Front-Office ist. Ich sehe, was Sie mit "instabil" meinen, aber es war der einfachste Weg, den ich fand. Ich habe die Funktion loadConfiguration gesehen, über die du geredet hast, aber ich bin verwirrt, ich bin nicht gut genug, um es mir selbst anzueignen. Übrigens scheint es die Lösung zu sein. Kannst du mir mehr Informationen/Tipps geben, um es auf die beste Weise zu überschreiben? Ich werde froh sein, wenn ich lernen kann, wie ich es mache und mich verbessere. Danke nochmal. – JazZ
Hallo! Gefolgt von deinen Tipps und es funktioniert super, aber ich bin mir nicht sicher, ob ich es richtig mache. Können Sie diesen Code überprüfen und mir sagen, ob es gut ist oder ob es verbessert werden muss? http://pastebin.com/jV7EcYb5 Wenn Sie bestätigen können, dass dieser Code gut ist, werde ich die Frage damit bearbeiten, um die Lösung zu teilen. Vielen Dank ! – JazZ
@AdrienLeber Ich habe meine Antwort mit 'LoadConfiguration' überschreiben – gskema