ユーザーがログに記録されていないかログされている場合、カタログモードをオンまたはオフに設定するためのプレスタシャップモジュールで作業しています。Prestashopカタログモードをユーザーがログオン/ログアウトした場合にON/OFFする
問題はありますが、うまく機能します。
私は、未ログインのユーザーには価格が一目瞭然で注文されることは望ましくありません。しかし、私が見つけた解決策では、最初の接続(モードカタログオフ)時には、ユーザーがページをロードし、カタログモードをオンにするが、価格を見ることができる(価格を隠すためにリロードしなければならない)実カタログモードを表示します。
新しいモードで自動的にリロードするjsスクリプトが見つかりましたが、明らかにページの読み込み時間は2倍長くなっています。ここで
は関数である。
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>
';
}
は、誰かがこれで私を助けることができる願っています。ありがとうございました。
感謝をバックFIXEするフロントオフィスであれば
EDIT
は、条件を追加します。私はあなたが「不安定」であることを見ますが、それは私が見つけた最も簡単な方法でした。私は、あなたが話していた関数loadConfigurationを見ましたが、私は自分自身をカスタマイズするのに十分ではありません。ところで、それは解決策のようです。 あなたにそれを上書きするための情報やヒントを教えてください。私はそれをやる方法を学び、自分自身を改善することができれば嬉しいです。 もう一度ありがとうございます。 – JazZ
こんにちは!あなたのヒントに従って、それは素晴らしいですが、私はそれを正しくやっていると確信していません。このコードをチェックして、それが良いのか、改善が必要なのかを教えてください。 http://pastebin.com/jV7EcYb5 このコードが良好であることを確認できれば、この問題を編集してソリューションを共有します。ありがとう! – JazZ
@AdrienLeber 'LoadConfiguration'オーバーライドで私の答えを更新しました – gskema