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


ピックアップ記事

表示領域外部(上部)にラベルを配置し、フリックにて表示させる

2010年12月17日 過去Blog
画面にテーブルビューが表示されている(XCodeテーブルテンプレート)を想定しています。以下の画像はtabBar,Navigationなど入っていますが、気にしないでください。 …
「表示領域外部(上部)にラベルを配置し、フリックにて表示させる」をはてなブックマークに追加

dreamweaver msvcr80.dll のエラー

2010年01月16日 過去Blog
ここ数日、いきなり複数台のPCにインストールしていたdreamweaverが全て、起動時に強制終了される状態がつづいていました。 Windowsのコントロールパネルからイベントビューアをみると、msvcr80.dllがエラーを起こしているようなのですが、検索しても解決策はヒットせず、adobeのサイトを参考にレジストリなどを触ってみるも直接的な解決には至りませんでした。 DWでサイトとして定義…
「dreamweaver  msvcr80.dll のエラー」をはてなブックマークに追加

広告や外部リンクなどで、サイト内のテーマが薄れるのを防ぐ、robots-nocontent

2010年03月10日 過去Blog
ウェブページは、ヘッダー、サイドメニュー、コンテンツ、フッターなど様々な要素から成り立ってる場合が多いと思います。 全てがページ内のキーワードと関連が深い場合はいいのですが、広告や、お問い合わせ欄、アクセスマップ、会社概要など、特にサイトのテーマとは関係ないページや関係ない箇所が散財すると思います。 ページ内に広告が表示されてる場合などはサイト内のテーマと関係が薄い場合も多々あると思います。 …
「広告や外部リンクなどで、サイト内のテーマが薄れるのを防ぐ、robots-nocontent」をはてなブックマークに追加

SQLite で Limit や ORDER BY RANDOM()など

2010年12月16日 過去Blog
SQLite で抽出データを並び替え SELECT * FROM テーブル名 ORDER BY フィールド1 DESC, フィールド2 DESC, フィールド3 ASC ; 上記のようにすることで、「テーブル名」という名前のテーブルの全てのデータを「フィールド1」の降順で並べ、「フィールド1」が同値の場合、次の「フィールド2」を降順に並べ、さらに「フィールド2」も同値の場合、「フィールド3」を基準に昇順に並び替えます。 ASC は結果が昇順に並びかえ、 DESC はそれが降順に並ぶかえることを表します。そのどちらも指定されていない場合、 ASC で並び替えられます。 SQLite でランダムにデータを抽出する まず、SQLite でランダムにデータを取り出す方法 SELECT * FROM entry ORDER BY RANDOM(); SQLite で行数指定(LIMIT)でデータを抽出する SELECT文では、WHERE句などを指定した場合でも条件に一致する全てのデータを取得します。この取得する件数を制限したい場合にはLIMIT句を使います。書式は以下の通りです。 SELECT カラム名, ... FROM テーブル名 LIMIT 行数; …
「SQLite で Limit や ORDER BY RANDOM()など」をはてなブックマークに追加

外部SQLiteデータベースを更新した場合

2010年12月09日 過去Blog
アプリケーションの外部でデータベースを変更した場合、プログラム内のデータベースを入れ替えても反映されないので、そういう場合は、既にシミュレータまたは、デバイスにインストールされている該当アプリを一度アンインストールしてから、再度ビルド&実行することで、データベースも最新のものが反映される模様。 http://oknamulti.by/…
「外部SQLiteデータベースを更新した場合」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy