Zencat のセッション管理については、「Zencart : セッションについて」で触れていますので、基本的な説明はそちらでご確認ください。 共用SSLを利用する場合のセッション管理についてですが、共用SSLを利用する場合は、基本的に自分の運用するドメインとSSLページは違うドメイン(サーバ会社のドメインなど)になることが多いと思います。 その場合は、ブラウザのクッキーに保存されているSSLページと非SSLページでのドメインが違うことになるので、セッションが正常に引き継げなくなり、カートが空になるなどの現象が起こります。
Zencartのインストール直後の設定は、管理画面内の「セッション管理の設定」>「クッキーの使用の設定」がTrueになっていたと思います。 この環境では、ブラウザのクッキーの使用が必須となってしまうので、共用SSLでクッキーに保存されたドメインが異なる場合は、当然、セッションが引き継げなくなりますし、もちろんブラウザがクッキーの使用を許可していない場合もセッションは引き継げません。 共用SSLでクッキー内のドメインが違う場合でもセッションを引き継ぐ方法として、管理画面内の「クッキーの使用」をFalseにすることでZencartが共用SSLの環境で使えるようになります。また、これは、クッキーを一切使用しないというのではなく、クッキーが使用できる場合は利用し、そうでない場合はURLにzenidとしてセッション情報を付与し、セッションを引き継がせることが出来るようになります。 管理画面の説明を見るだけでは、少し勘違いしやすい点ですが、
  • 「クッキーの使用」=True > ブラウザのクッキーの使用が必須。
  • 「クッキーの使用」=False > ブラウザのクッキーは必須ではなく、利用できるときは使い、そうでない場合はURLにzenidを付与しセッション管理を継続する。
といった感じだと思います。 その際の問題点として、クッキーが正常に利用できない場合はzenidが正常に付与される必要があるので、独自のカスタマイズでリンクURLを貼りつけた箇所などは、zenidが引き継げるようにZencartの仕様にそったリンクの貼り方をする必要があります。Zencartに内でのリンクの貼り方については、「zencart:カスタマイズ リンクの貼り方」の記事を参考にしてください。 また、インストール時に「サイト、管理画面共にSSLを使用する設定」でインストールしてしまい、管理画面が共用SSLで動作しない場合は、admin/includes内のconfig.phpファイルの設定を手動でSSLを使用しない設定にし、非SSLで管理画面にログイン後、「セッション管理の設定」>「クッキーの使用」をFalseにする必要があります。

この投稿へのコメント

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

PHP 現在表示中のドメイン名、ファイル名取得

2010年07月15日 過去Blog
//絶対パス echo __FILE__ . ''; //ディレクトリパス echo dirname(__FILE__) . ''; //スクリプト名 echo basename(__FILE__) . ''; echo $_SERVER["SERVER_NAME"]; echo $_SERVER["SCRIPT_NAME"]; echo '?'; echo $_SERVER["QUERY_…
「PHP 現在表示中のドメイン名、ファイル名取得」をはてなブックマークに追加

iPhoneのメールの受信エラー[ “i.softbank.jp” が応答しません]

2010年12月29日 過去Blog
twitterでも始めようかと思い、iPhoneから登録作業をしてたのですが、twitterに空メールを送った後に、以下のエラーが出てきて、送られてくるメールが受信出来ない状態になりました。 「imap.softbank.jp」が応答しません。メール設定で入力されているアカウント情報が正しい事を確認してください。 …
「iPhoneのメールの受信エラー[ “i.softbank.jp” が応答しません]」をはてなブックマークに追加

iPhone アプリにアイコンを設定する

2010年12月09日 過去Blog
自作のiPhoneアプリにアイコンを設定する方法です。 まず、アイコンに使いたい画像を準備します。 画像サイズ 57px × 57px アイコン画像の設定 (1)プロジェクト内のResourceフォルダを右クリックし、既存のファイルを追加を選びます。そして、準備しておいた画像を選択、このとき表示される画面ないの「デスティネーション...」の項目をチェックし、追加します。 (2)その後、プロジ…
「iPhone アプリにアイコンを設定する」をはてなブックマークに追加

[エラー]modifying layer that is being finalized

2010年12月09日 過去Blog
このエラーは、autorelease によってリリースされた(される)コントロールを自分自身で release を読んで解放しようとした時に、おこるエラーの様です。 私の場合は、以下のようなコードを実行したら3回ほどクリックすると落ちました。 ボタンをクリックするとdivision.text にデータベースから抜き出した文字列を表示するというコードです。 division.text = [N…
「[エラー]modifying layer that is being finalized」をはてなブックマークに追加

UIImageViewに画像を配置する

2010年12月17日 過去Blog
IBOutlet UIImageView *bgImage; @property(nonatomic,retain) IBOutlet UIImageView *bgImage; 上記のようなbgImageがInterfaceで宣言され、Interface Builder上に、UIImageViewが配置されているとすると以下のように実装すれば、該当箇所に画像が挿入されます。 bgImage.…
「UIImageViewに画像を配置する」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy