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年06月01日 過去Blog
define( "ONE_DAY_SEC", 24 * 3600 ); // 日付けの差分をとる関数 function dateDiff( $date1, $date2 ) { return ( strtotime( $date1 ) - strtotime( $date2 ) ) / ONE_DAY_SEC; } // 実行サンプル $date1 = date('Y/m/d…
「PHP 日付の減算・差分を求める」をはてなブックマークに追加

ドロップキャッチとは

2010年03月08日 過去Blog
ドロップキャッチとは (ドメインドロップキャッチ,drop catch,) ドロップキャッチとは、登録有効期限の切れたドメイン名を、再取得可能になったタイミングで取得することである。 ドメイン名は基本的に早い者勝ちであり、同じドメインを重複して取得することはできないが、登録有効期限の切れたドメイン名は一定期間の経過後に再度取得できるようになる。 たとえば、3文字程度の短い文字列や、魅力的な単語の…
「ドロップキャッチとは」をはてなブックマークに追加

xcodeでメモリリークを簡単に調べる方法

2011年03月03日 過去Blog
以下のサイトにあるようなことが出来るらしい。 http://www.lastday.jp/2011/03/01/memory-leak-xcod やったことないので、今度やってみようと思います。
「xcodeでメモリリークを簡単に調べる方法」をはてなブックマークに追加

PHPでPING送信を実装する

2010年03月28日 過去Blog
[php]<?php require_once('XML/RPC.php'); function Ping_Send($blog_title,$blog_url){ $ping = array( 'ping.rss.drecom.jp' => '/', 'api.my.yahoo.co.jp' => '/RPC2', 'blog.goo.n…
「PHPでPING送信を実装する」をはてなブックマークに追加

PHP 配列の要素数を取得する

2010年06月11日 過去Blog
$array_count = count($array);
「PHP 配列の要素数を取得する」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy