<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>web tips around me &#187; Zencart</title>
	<atom:link href="http://yamazon.org/category/zencart/feed" rel="self" type="application/rss+xml" />
	<link>http://yamazon.org</link>
	<description>iphoneアプリ開発,ホームページ制作,SEO,CMS ...</description>
	<lastBuildDate>Wed, 25 May 2011 07:58:48 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>zencart META内のauthor、generatorの設定</title>
		<link>http://yamazon.org/zencart/427</link>
		<comments>http://yamazon.org/zencart/427#comments</comments>
		<pubDate>Tue, 29 Jun 2010 11:27:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=427</guid>
		<description><![CDATA[includes/templates/テンプレート名/common 内のhtml_header.phpを編集。]]></description>
			<content:encoded><![CDATA[<p>includes/templates/テンプレート名/common 内のhtml_header.phpを編集。</p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/427/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>zencart フッター部のzencartサイトへのリンク、コピーライトの変更</title>
		<link>http://yamazon.org/zencart/423</link>
		<comments>http://yamazon.org/zencart/423#comments</comments>
		<pubDate>Tue, 29 Jun 2010 11:11:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=423</guid>
		<description><![CDATA[includes/languages/japanese.php　内の「FOOTER_TEXT_BODY」を変更する。 その他、デフォルトで設定されている日本語の設定はこのファイル内の項目を修正する。]]></description>
			<content:encoded><![CDATA[<p>includes/languages/japanese.php　内の「FOOTER_TEXT_BODY」を変更する。</p>
<p>その他、デフォルトで設定されている日本語の設定はこのファイル内の項目を修正する。</p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/423/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>zencart 商品ページの属性カテゴリ画像を表示させない</title>
		<link>http://yamazon.org/zencart/421</link>
		<comments>http://yamazon.org/zencart/421#comments</comments>
		<pubDate>Tue, 29 Jun 2010 11:04:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=421</guid>
		<description><![CDATA[zencartで、商品を選ぶと、その商品の詳細ページが表示されますが、その詳細ページ内の上部にカテゴリの画像が表示されます。 ■それを消す、または、表示させる方法 一般設定 ＞ 商品情報の設定 ＞ カテゴリ名と画像の配置 0 ＝ 非表示 1 ＝ 表示]]></description>
			<content:encoded><![CDATA[<p>zencartで、商品を選ぶと、その商品の詳細ページが表示されますが、その詳細ページ内の上部にカテゴリの画像が表示されます。</p>
<p>■それを消す、または、表示させる方法</p>
<p>一般設定 ＞ 商品情報の設定 ＞ カテゴリ名と画像の配置</p>
<p>0 ＝ 非表示<br />
1 ＝ 表示</p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/421/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zencat : 共用SSLを利用する場合のセッション管理</title>
		<link>http://yamazon.org/zencart/76</link>
		<comments>http://yamazon.org/zencart/76#comments</comments>
		<pubDate>Fri, 20 Nov 2009 09:08:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>
		<category><![CDATA[カスタマイズ]]></category>
		<category><![CDATA[セッション]]></category>
		<category><![CDATA[共用SSL]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=76</guid>
		<description><![CDATA[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にする必要があります。]]></description>
			<content:encoded><![CDATA[<p>Zencat のセッション管理については、「<a title="Zencart : セッションについて" href="http://yamazon.org/zencart/72" target="_self">Zencart : セッションについて</a>」で触れていますので、基本的な説明はそちらでご確認ください。</p>
<p>共用SSLを利用する場合のセッション管理についてですが、共用SSLを利用する場合は、基本的に自分の運用するドメインとSSLページは違うドメイン（サーバ会社のドメインなど）になることが多いと思います。</p>
<p>その場合は、ブラウザのクッキーに保存されているSSLページと非SSLページでのドメインが違うことになるので、セッションが正常に引き継げなくなり、カートが空になるなどの現象が起こります。</p>
<p><span id="more-76"></span>Zencartのインストール直後の設定は、管理画面内の「セッション管理の設定」＞「クッキーの使用の設定」がTrueになっていたと思います。</p>
<p>この環境では、ブラウザのクッキーの使用が必須となってしまうので、共用SSLでクッキーに保存されたドメインが異なる場合は、当然、セッションが引き継げなくなりますし、もちろんブラウザがクッキーの使用を許可していない場合もセッションは引き継げません。</p>
<p>共用SSLでクッキー内のドメインが違う場合でもセッションを引き継ぐ方法として、管理画面内の「クッキーの使用」をFalseにすることでZencartが共用SSLの環境で使えるようになります。また、これは、クッキーを一切使用しないというのではなく、クッキーが使用できる場合は利用し、そうでない場合はURLにzenidとしてセッション情報を付与し、セッションを引き継がせることが出来るようになります。</p>
<p>管理画面の説明を見るだけでは、少し勘違いしやすい点ですが、</p>
<ul>
<li>「クッキーの使用」＝True　＞　ブラウザのクッキーの使用が必須。</li>
<li>「クッキーの使用」＝False　＞　ブラウザのクッキーは必須ではなく、利用できるときは使い、そうでない場合はURLにzenidを付与しセッション管理を継続する。</li>
</ul>
<p>といった感じだと思います。</p>
<p>その際の問題点として、クッキーが正常に利用できない場合はzenidが正常に付与される必要があるので、独自のカスタマイズでリンクURLを貼りつけた箇所などは、zenidが引き継げるようにZencartの仕様にそったリンクの貼り方をする必要があります。<a title="zencart:カスタマイズ リンクの貼り方" href="http://yamazon.org/zencart/6" target="_self">Zencartに内でのリンクの貼り方については、「</a><a title="zencart:カスタマイズ リンクの貼り方" href="http://yamazon.org/zencart/6" target="_self">zencart:カスタマイズ リンクの貼り方」の記事を参考にしてください</a>。</p>
<p>また、インストール時に「サイト、管理画面共にSSLを使用する設定」でインストールしてしまい、管理画面が共用SSLで動作しない場合は、admin/includes内のconfig.phpファイルの設定を手動でSSLを使用しない設定にし、非SSLで管理画面にログイン後、「セッション管理の設定」＞「クッキーの使用」をFalseにする必要があります。</p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/76/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zencart : セッションについて</title>
		<link>http://yamazon.org/zencart/72</link>
		<comments>http://yamazon.org/zencart/72#comments</comments>
		<pubDate>Fri, 20 Nov 2009 09:02:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>
		<category><![CDATA[セッション]]></category>
		<category><![CDATA[共用SSL]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=72</guid>
		<description><![CDATA[Zencartのセッションについてですが、以下の環境に該当する場合は、少々対応が必要なようです。 サーバが専用SSLではなく、共用のSSLを利用している。 カスタマイズの際にURLをそのまま張り付けて使用している。 静的htmlへのリンクがZencartのサイト内に含まれている。 私の管理するZencartのサイトは上記の全てに当てはまっていました・・・orz 解決策の前にZencartのセッションの基本的な仕組みについて説明したいと思います。 Zencartのセッションの基本的な仕組み Zen Cart のセッション情報は、ログイン時に発行される一意の文字列 （zenid） で管理されます。 管理方法としては、初期設定ファイルの内の設定（*1）によって、データベースに一時的に収納されるか、または指定のディレクトリーにファイルとして保存され、セッションの推移に伴い随時、参照・更新されていきます。 zenid は、基本的にはブラウザのクッキー (Cookie) （期限設定無し）に保存されます。 勘違いしやすいのですが、これは管理画面内の「セッション管理の設定」＞「クッキー使用の有効 (TRUE) / 無効 (FALSE)」 に関わらず、ブラウザのクッキーが許可されている場合は、クッキー (Cookie) を利用し zenid を引き継ぎ維持しようとします。この設定が有効 (TRUE) であればクッキー (Cookie) 使用が必須となり、ブラウザのクッキー (Cookie) が不許可の場合や、共用SSL サーバーなどでドメインが変更され、クッキー (Cookie) の引き継ぎが不可能な場合などは、zenid 発行時にクッキー (Cookie) の設定をオンにすることを促すメッセージ (index.php?main_page=cookie_usage) が表示されます。 また、「セッション管理の設定」＞「クッキー使用の設定が無効 (FALSE)」 の設定で、ブラウザのクッキーが不許可、または、SSL サーバーなどでドメインが変更されるためクッキー (Cookie) の引き継ぎが不可能な場合などは、ブラウザに渡される URL に付け足される形で zenid を引き継ぎます。 この際、URL を呼び出すのに、zen_href_link() 等 Zen [...]]]></description>
			<content:encoded><![CDATA[<p>Zencartのセッションについてですが、以下の環境に該当する場合は、少々対応が必要なようです。</p>
<ol>
<li>サーバが専用SSLではなく、共用のSSLを利用している。</li>
<li>カスタマイズの際にURLをそのまま張り付けて使用している。</li>
<li>静的htmlへのリンクがZencartのサイト内に含まれている。</li>
</ol>
<p>私の管理するZencartのサイトは上記の全てに当てはまっていました・・・orz</p>
<p>解決策の前にZencartのセッションの基本的な仕組みについて説明したいと思います。</p>
<h2><span id="more-72"></span>Zencartのセッションの基本的な仕組み</h2>
<p>Zen Cart のセッション情報は、ログイン時に発行される一意の文字列 （zenid） で管理されます。<br />
管理方法としては、<span style="color: #ff0000;">初期設定ファイルの内の設定（*1）</span>によって、データベースに一時的に収納されるか、または指定のディレクトリーにファイルとして保存され、セッションの推移に伴い随時、参照・更新されていきます。</p>
<p>zenid は、基本的にはブラウザのクッキー (Cookie) （期限設定無し）に保存されます。<br />
勘違いしやすいのですが、これは管理画面内の「セッション管理の設定」＞「クッキー使用の有効 (TRUE) / 無効 (FALSE)」 に関わらず、ブラウザのクッキーが許可されている場合は、クッキー (Cookie) を利用し zenid を引き継ぎ維持しようとします。この設定が有効 (TRUE) であればクッキー (Cookie) 使用が必須となり、ブラウザのクッキー (Cookie) が不許可の場合や、共用SSL サーバーなどでドメインが変更され、クッキー (Cookie) の引き継ぎが不可能な場合などは、zenid 発行時にクッキー (Cookie) の設定をオンにすることを促すメッセージ (index.php?main_page=cookie_usage) が表示されます。</p>
<p>また、「セッション管理の設定」＞「クッキー使用の設定が無効 (FALSE)」 の設定で、ブラウザのクッキーが不許可、または、SSL サーバーなどでドメインが変更されるためクッキー (Cookie) の引き継ぎが不可能な場合などは、ブラウザに渡される URL に付け足される形で zenid を引き継ぎます。</p>
<p>この際、URL を呼び出すのに、zen_href_link() 等 Zen Cart のリンク関数を用いていれば関数内の処理で自動的に zenid 追加されますが、独自カスタマイズなどを加えていて直接 URL をベタ書きしている様な場合は、クッキー (Cookie) 不可環境での zenid の引き継ぎが不可能になり、ログイン状態が維持できなくなったりカートの内容が空になってしまう様な現象が現れます。</p>
<p>クッキー (Cookie) 不可環境に対応する、または SSL サーバーを別ドメイン名で運用する場合などは、前記「セッション管理の設定/クッキー使用」の設定を無効 (FALSE) としなければなりません。しかし、前記の様に zenid が URL に付加されるためセキュリティ上は好ましくありません。</p>
<p>このような場合は、「SSLセッションIDチェック」、「User Agentチェック」、「IPアドレスチェック」、「ロボット(スパイダー)のセッションを防止」、「セッション再発行」の各項目を有効 (TRUE) とし、セッションなりすまし防止等、セキュリティ対策をする必要があると思います。</p>
<p>以下、管理画面内のセッション管理の設定内の項目の説明です。</p>
<p><strong>SSLセッションIDチェック<br />
</strong>全てのHTTPSリクエストでSSLセッションIDをチェックしますか?</p>
<p><strong>User Agentチェック</strong><br />
全てのリクエスト時にUser Agentのチェックを行いますか?<br />
同一セッションであったとしても、User Agentをチェックし、もし違えばセッション情報を破棄します。<br />
セッションハイジャックの防止に有効です。</p>
<p><strong>IPアドレスチェック全てのリクエスト時にIPアドレスをチェックしますか?</strong><br />
同一セッションであったとしても、IPアドレスをチェックし、もし違えばセッション情報を破棄します。<br />
セッションハイジャックの防止に有効です。</p>
<p><strong>ロボット(スパイダー)のセッションを防止</strong><br />
既知のロボット(スパイダー)がセッションを開始することを防止しますか?</p>
<p>対象となるロボット（スパイダー）のリストは、　includes/spiders.txt に記載されていますので、必要に応じて対象を追加してください。</p>
<p><strong>セッション再発行</strong><br />
ユーザーがログオンまたはアカウントを作成した場合にセッションＩＤを再発行しますか?(PHP4.1以上が必要)<br />
セッションハイジャックの防止に有効です。</p>
<p><strong>IPアドレス変換の設定</strong><br />
IPアドレスをホストアドレスに変換しますか?注意：サーバによっては、この設定でメール送信のスタート・終了が遅くなることがあります。</p>
<p><span style="color: #ff0000;">*1　インストール画面でキャッシュの保存方法をデータベースなどから選択する箇所がありますが、そこの設定に関係していると思います。（未検証）<br />
また、セッション情報をファイルで保存するには、設定ファイルを直接修正する必要があります。configure.php の下部にある define(&#8216;SQL_CACHE_METHOD&#8217;, &#8216;none&#8217;); 　を define(&#8216;SQL_CACHE_METHOD&#8217;, &#8216;file&#8217;);　に変更する事で有効になります。</span></p>
<p>この記事の最初に触れましたが、以下の問題の解決策を書きます。</p>
<ol>
<li>サーバが専用SSLではなく、共用のSSLを利用している。</li>
<li>カスタマイズの際にURLをそのまま張り付けて使用している。</li>
<li>静的htmlへのリンクがZencartのサイト内に含まれている。</li>
</ol>
<h2>Zencartのセッションに関して、上記のトラブルの解決策</h2>
<p><strong><span style="color: #008000;">1.サーバが専用SSLではなく、共用のSSLを利用している。</span></strong></p>
<p>共用SSLの場合は、SSLページとそれ以外のページで、ブラウザのクッキーに保存されるドメインが変わってしまうので、セッションが引き継げなくなってしまいます。（<a title="Zencartで共用SSLを使用する" href="http://yamazon.org/other/76" target="_self">Zencatで共用SSLを利用する場合の説明はこちらで触れています。</a>）</p>
<p>その解決策として、管理画面内の「セッション管理の設定」＞「クッキー使用の設定」をFalseにする必要があります。前述しましたが、これはクッキーを一切使用しないという意味ではありません。ブラウザのクッキーが使用できない場合は、URLにzenidを付与して、セッションを引き継ぐということです。</p>
<p>問題が共用SSLを使用している点だけであれば、ブラウザのクッキーが使用できない場合も含め、「クッキー使用」をFalseにするだけで対応できます。その際のセキュリティ低下を考えると、「SSLセッションIDチェック」、「User Agentチェック」、「IPアドレスチェック」、「ロボット(スパイダー)のセッションを防止」、「セッション再発行」の各項目を有効 (TRUE) とし、セッションなりすまし防止等、セキュリティ対策をする必要があると思います。</p>
<p><strong><span style="color: #008000;">2.カスタマイズの際にURLをそのまま張り付けて使用している。</span></strong></p>
<p><strong> </strong></p>
<p>この場合は、クッキーの使えない環境も考慮し、カスタマイズの際に張り付けたリンク箇所をセッションが引き継がれるように、zen_href_link()などを利用し、修正する必要があります。</p>
<p><a title="セッションを引き継ぐリンクの貼り方" href="http://yamazon.org/zencart/6" target="_self">セッションを引き継ぐリンクの貼り方についてはこちらのページを参照してください。</a></p>
<p><strong><span style="color: #008000;">3.</span><span style="color: #008000;">静的htmlへのリンクがZencartのサイト内に含まれている。</span></strong></p>
<p>この場合も、「2」の問題と同様に、クッキーの使えない環境も考慮し、カスタマイズの際に張り付けたリンク箇所をセッションが引き継がれるように、zen_href_link()などを利用し、修正する必要があります。</p>
<p><a title="セッションを引き継ぐリンクの貼り方" href="../zencart/6" target="_self">セッションを引き継ぐリンクの貼り方についてはこちらのページを参照してください。</a></p>
<p>引用元サイト : <a href="http://tango.zero-office.com/2007/10/01/zen-cart-session/" target="_blank">talking about …</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/72/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>zencart:カスタマイズ リンクの貼り方</title>
		<link>http://yamazon.org/zencart/6</link>
		<comments>http://yamazon.org/zencart/6#comments</comments>
		<pubDate>Wed, 18 Nov 2009 08:28:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[カスタマイズ]]></category>
		<category><![CDATA[セッション]]></category>
		<category><![CDATA[共用SSL]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=6</guid>
		<description><![CDATA[セッションや共用SSLの問題を考えずに、普通にリンクを貼るのであれば、Zencartのデフォルトで設定されているURL（http://domain_name.com/index.php?main_page=contact_us など）をそのままテンプレート内に張り付けることで動作しますが、この方法でリンクを貼るとクッキーの使えないブラウザで正常にセッションが動作しなくなります。Zencartのセッションについてはこちらの記事で触れています。 セッションを維持するリンクの貼り方は状況によっていくつか考えられるので、順に説明していきたいと思います。 1.Zencart(filenames.php)にもともと定義されているページへのリンクの貼り方 ■形式 非SSLの場合 : &#60;a href=&#8221;&#60;?php echo zen_href_link(FILENAME_CONTACT_US, &#8221;, &#8216;NONSSL&#8216;); ?&#62;&#8221;&#62;お問い合わせ&#60;/a&#62; SSLの場合 : &#60;a href=&#8221;&#60;?php echo zen_href_link(FILENAME_LOGIN, &#8221;, &#8216;SSL&#8216;); ?&#62;&#8221;&#62;ログイン&#60;/a&#62; この場合は、「FILENAME～」となっている箇所を includes/filenames.php に定義されている名前と同じものを設定することになります。 SSLにするかどうかの設定は「SSL」または、「NONSSL」を記述します。 2.Zencart(filenames.php)にもともと定義されていないページへのリンクの貼り方 例えば、「http://domain_name.com/index.php?main_page=index&#38;cPath=14」にリンクを張りたい場合などです。 ■形式 &#60;a href=&#8221;&#60;?php echo zen_href_link(&#8220;index&#38;cPath=14&#8220;, &#8221;, &#8216;NONSSL&#8217;); ?&#62;&#8221;&#62;ページ名&#60;/a&#62; この場合は、「index&#38;cPath=14」となっている箇所を編集します。 URLで 「index.php?main_page=」 以降の箇所を赤字の箇所に指定することで動作します。 SSLにするかどうかの設定は「SSL」または、「NONSSL」を記述します。 3.オリジナルのphpプログラムの中で動かすような場合 例として、カテゴリIDを取得し、自動でカテゴリ名へリンクを設置するようなプログラムを作るとします。そのリンク箇所にセッションが正常に引き継げるように設定します。 ■形式 &#60;a href=\&#8221;http://domain_name/index.php?main_page=index&#38;cPath=&#8221;.$categories_id.&#8221;&#38;&#8221;.zen_session_name() . &#8216;=&#8217; . zen_session_id().&#8220;\&#8221;&#62;&#8221;.$res3['categories_name'].&#8221;&#60;/a&#62; Zencart内で、zen_session_nameというのは「zenid」のことです。zen_session_idというのはzenidの値のことです。 このやり方については、クッキーの設定に関わらず、URL内のzenidにてセッションを引き継ぐ方法ですが、セキュリティ面を考慮すると、もう少しスマートなやり方があるかもしれません。 4.Zencartのサイト内に静的ｈｔｍｌのページがある場合 ■形式 [...]]]></description>
			<content:encoded><![CDATA[<p>セッションや共用SSLの問題を考えずに、普通にリンクを貼るのであれば、Zencartのデフォルトで設定されているURL（http://domain_name.com/index.php?main_page=contact_us など）をそのままテンプレート内に張り付けることで動作しますが、この方法でリンクを貼るとクッキーの使えないブラウザで正常にセッションが動作しなくなります。<a title="Zencart : セッションについて" href="http://yamazon.org/zencart/72" target="_self">Zencartのセッションについてはこちらの記事で触れています。</a></p>
<p>セッションを維持するリンクの貼り方は状況によっていくつか考えられるので、順に説明していきたいと思います。<br />
<span id="more-6"></span></p>
<h3>1.Zencart(<strong>filenames.php</strong>)にもともと定義されているページへのリンクの貼り方</h3>
<p><span style="color: #ff0000;">■形式</span></p>
<p>非SSLの場合 : &lt;a href=&#8221;&lt;?php echo zen_href_link(<span style="color: #ff0000;">FILENAME_CONTACT_US,</span> &#8221;, &#8216;<span style="color: #ff0000;">NONSSL</span>&#8216;); ?&gt;&#8221;&gt;お問い合わせ&lt;/a&gt;</p>
<p>SSLの場合 : &lt;a href=&#8221;&lt;?php echo zen_href_link(<span style="color: #ff0000;">FILENAME_LOGIN</span>, &#8221;, &#8216;<span style="color: #ff0000;">SSL</span>&#8216;); ?&gt;&#8221;&gt;ログイン&lt;/a&gt;</p>
<p>この場合は、「FILENAME～」となっている箇所を<strong> includes/filenames.php</strong> に定義されている名前と同じものを設定することになります。</p>
<p>SSLにするかどうかの設定は「SSL」または、「NONSSL」を記述します。</p>
<h3>2.Zencart(<strong>filenames.php</strong>)にもともと定義されていないページへのリンクの貼り方</h3>
<p>例えば、「http://domain_name.com/index.php?main_page=index&amp;cPath=14」にリンクを張りたい場合などです。</p>
<p><span style="color: #ff0000;">■形式</span></p>
<p>&lt;a href=&#8221;&lt;?php echo zen_href_link(&#8220;<span style="color: #ff0000;">index&amp;cPath=14</span>&#8220;, &#8221;, &#8216;NONSSL&#8217;); ?&gt;&#8221;&gt;ページ名&lt;/a&gt;</p>
<p>この場合は、「index&amp;cPath=14」となっている箇所を編集します。</p>
<p>URLで<strong> 「index.php?main_page=」 </strong>以降の箇所を赤字の箇所に指定することで動作します。</p>
<p>SSLにするかどうかの設定は「SSL」または、「NONSSL」を記述します。</p>
<h3>3.オリジナルのphpプログラムの中で動かすような場合</h3>
<p>例として、カテゴリIDを取得し、自動でカテゴリ名へリンクを設置するようなプログラムを作るとします。そのリンク箇所にセッションが正常に引き継げるように設定します。</p>
<p><span style="color: #ff0000;">■形式</span></p>
<p><span style="color: #ff0000;"> </span>&lt;a href=\&#8221;http://domain_name/index.php?main_page=index&amp;cPath=&#8221;.$categories_id<span style="color: #ff0000;">.&#8221;&amp;&#8221;.zen_session_name() . &#8216;=&#8217; . zen_session_id().</span>&#8220;\&#8221;&gt;&#8221;.$res3['categories_name'].&#8221;&lt;/a&gt;</p>
<p>Zencart内で、zen_session_nameというのは「zenid」のことです。zen_session_idというのはzenidの値のことです。</p>
<p>このやり方については、クッキーの設定に関わらず、URL内のzenidにてセッションを引き継ぐ方法ですが、セキュリティ面を考慮すると、もう少しスマートなやり方があるかもしれません。</p>
<h3>4.Zencartのサイト内に静的ｈｔｍｌのページがある場合</h3>
<p><span style="color: #ff0000;">■形式</span></p>
<p>&lt;a href=&#8221;http://domain_name/sitemap.html?&lt;?php echo zen_session_name() . &#8216;=&#8217; . zen_session_id() ?&gt;&#8221;&gt;サイトマップ&lt;/a&gt;</p>
<p>これについては、静的ｈｔｍｌを介して、セッションを引き継ぐために無理やり動作させているという感じです。</p>
<p>静的ｈｔｍｌからZencartページに戻った場合なども、セッションを引き継ぐ必要があるので、静的ｈｔｍｌページ内のリンクも全て記述を修正する必要が出てくると思います。</p>
<p>また、サーバ環境によっては、<a title="htmlファイルでphpを動かすための.htaccessファイルの設定" href="http://yamazon.org/tech/87">htmlファイルでphpを動作させる</a>ために「.htaccess」ファイルによる設定も必要になるかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/6/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>zencartを「アップグレード・移行」する際の「やり方・注意点」</title>
		<link>http://yamazon.org/zencart/4</link>
		<comments>http://yamazon.org/zencart/4#comments</comments>
		<pubDate>Wed, 18 Nov 2009 08:27:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Zencart]]></category>
		<category><![CDATA[アップグレード]]></category>
		<category><![CDATA[データベース移行]]></category>

		<guid isPermaLink="false">http://yamazon.org/?p=4</guid>
		<description><![CDATA[zencart1.2系から1.3系へのアップグレードおよび、移行作業は大変な労力が必要になります。 アップグレードも移行も基本的には同じだと思うので、移行作業をするものとして説明します。 基本的な流れとしては 移行先に最新版のZencartを新規インストール DBを移行 デザインなどのテンプレートを適用 1のインストールについては特に問題はなく完了すると思います。 2のDB移行の際には、楽な方法はないのではないかと思います。 1.2系と1.3系ではテーブル内の項目数が違うので、DBをまるまる入れ替えるのは出来ませんでした。 DROP TABLEをつけた1.2系のDBを1.3系にいれるとphpmyadminにて移行は出来ますが、その後、サイト内で多くのエラーが出ます。 この原因としては、1.2系と1.3系ではテーブル内の項目数が違うためだと思います。 私が行った移行の方法としては、新規で1.3系をインストールし、phpmyadmin内から移行が必要なテーブルの値を手作業で移行しました。 例えば、address_book　の中身を移行するのであれば、1.2系のDBの中からaddress_bookのINSERT INTO～となっている行を全てコピーし、phpmyadmin内でSQLを実行します。 この作業を移行が必要なテーブルの数だけこなしました。 上記の作業を繰り返すことで正常に移行は完了しましたが、1.2系と1.3系の問題として、顧客の氏名が逆になってしまいます。 その点はphpmyadmin内で項目名を変えて入れ替えることで対応しました。 *作業される際は、DBやサーバのバックアップなどを忘れずにしてください。 *私自身は、このやり方で対応しましたが、この記事を参考に作業される場合は自己責任でおこなってください。]]></description>
			<content:encoded><![CDATA[<p>zencart1.2系から1.3系へのアップグレードおよび、移行作業は大変な労力が必要になります。</p>
<p>アップグレードも移行も基本的には同じだと思うので、移行作業をするものとして説明します。</p>
<p><span id="more-4"></span><br />
基本的な流れとしては</p>
<ol>
<li>移行先に最新版のZencartを新規インストール</li>
<li>DBを移行</li>
<li>デザインなどのテンプレートを適用</li>
</ol>
<p>1のインストールについては特に問題はなく完了すると思います。</p>
<p>2のDB移行の際には、楽な方法はないのではないかと思います。</p>
<p>1.2系と1.3系ではテーブル内の項目数が違うので、DBをまるまる入れ替えるのは出来ませんでした。</p>
<p>DROP TABLEをつけた1.2系のDBを1.3系にいれるとphpmyadminにて移行は出来ますが、その後、サイト内で多くのエラーが出ます。</p>
<p>この原因としては、1.2系と1.3系ではテーブル内の項目数が違うためだと思います。</p>
<p>私が行った移行の方法としては、新規で1.3系をインストールし、phpmyadmin内から移行が必要なテーブルの値を手作業で移行しました。</p>
<p>例えば、address_book　の中身を移行するのであれば、1.2系のDBの中からaddress_bookのINSERT INTO～となっている行を全てコピーし、phpmyadmin内でSQLを実行します。</p>
<p>この作業を移行が必要なテーブルの数だけこなしました。</p>
<p>上記の作業を繰り返すことで正常に移行は完了しましたが、1.2系と1.3系の問題として、顧客の氏名が逆になってしまいます。</p>
<p>その点はphpmyadmin内で項目名を変えて入れ替えることで対応しました。</p>
<p><span style="color: #ff0000;">*作業される際は、DBやサーバのバックアップなどを忘れずにしてください。</span></p>
<p><span style="color: #ff0000;">*私自身は、このやり方で対応しましたが、この記事を参考に作業される場合は自己責任でおこなってください。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://yamazon.org/zencart/4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

