1

Opencart を搭載したストアで永続的なショッピング カートを作成したいと考えています。つまり、ユーザーがショッピング カートに商品を追加し、ユーザーがまだログインしていない場合です。しかし、次に顧客が 1 週間以内に再度サイトにアクセスすると、商品がカートに入っているはずです。

ユーザーが明示的にカートまたはチェックアウトから商品を削除した場合、または 1 週間後にのみ、商品を削除する必要があります。

これはクッキーを使用して行うことができると思いますか? 助けていただければ幸いです

4

4 に答える 4

3

これを行うには非常に簡単な方法があります。

この変更は、OC 1.4.XX および OC 1.5.XX で機能します。

方法は次のとおりです。

ホーム ディレクトリで、system/library/session.php を見つけます。

次のような行があります。

session_set_cookie_params(0, '/');

24 時間 Cookie の場合は、行を次のように変更します。

session_set_cookie_params(60*60*24, '/');

1 分間の秒数に 1 時間の分数を掛けて、Cookie を設定したい 1 日の時間数を掛けます。

これは真の永続 Cookie ではなく、非常に長いセッション Cookie であり、Jay Gilford が指摘したように、OpenCart で永続 Cookie を作成する [簡単な] 方法はありません。皆さんご存知です。また、OpenCart はこの Cookie をセッション Cookie として扱うため、セッションの長さに関係なく、Cookie の有効期限が切れていない限り、新しい有効期限で Cookie を自動的に更新することはありません。

拡張セッション Cookie の無害な副作用は、事前にログアウトせずに管理者ページにログインすると、「無効なトークン」メッセージが表示されることです。これは、(拡張) セッション Cookie が最後の管理者ログインを「記憶」しているためです。これを無視してログインしてください。ただし、別の欠点があります。それは、製品価格の変更があり、ユーザーがその製品を既にバスケットに追加している場合です。 、ユーザーは以前の価格を 24 時間 Cookie に保存します。

OpenCart がこのように構築されている理由は、登録ユーザーがログアウトしない限り永続的な Cookie を禁止する EU のプライバシー法にあるようです。米国とカナダで Opencart を使用している多くの e コマース Web サイトは、固定化された Cookie ポリシーによって不必要に負担をかけられており、Web サイトに戻ってきた顧客を失い、注文をやり直す必要があります。

于 2012-10-20T04:25:41.093 に答える
1

opencart でこれを行う mod はありません。コメント セクションで述べたように、トークンで Cookie を使用するか、セッションの有効期限を 7 日間に設定するのが最善の方法です (ただし、これには欠点があります)。

于 2012-06-29T18:39:37.717 に答える
-1

解決策については、次のコメントを参照してください。

于 2012-10-20T03:34:58.467 に答える