<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>【ZenCart】カスタマイズメモ</title>
	<link>http://zencart.memoblog.net</link>
	<description>ZenCartの設置やカスタマイズ、使い方、制作方法etc.</description>
	<lastBuildDate>Tue, 20 Apr 2010 06:46:13 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>「ご注文の確定」でのInternal Server Error 500 が解決。</title>
		<description><![CDATA[追記：2010/4/20
いつの時点からか「注文完了時のメールが届かない」とのご報告をいただいたので、再び SMTP → sendmail に設定を戻しました。今度は Internal Server Error 500 は発生せず、メールも無事届いています。
&#8212;
以前「原因不明のInternal Server Errorが「ご注文の確定」ボタンクリックで発生。」という記事を書きましたが、とりあえず解決したのでメモ。
その後、新規インストールを行ってエラーが出なくなったので良かったと思っていたら再発。集中的に調べてみると、原因は「メールの設定」にありました。
結論から書くと、「メール送信 &#8211; 接続方法」を、sendmailではなくsmtpにしました。これで解決。トホホ…
解決の糸口の糸口は、こちらのZen Cart本家のフォーラムの書き込みにありました。同じ原因かどうかはわかりませんが、書き込みの中で「メールの送信方法を変えてみろ」とあって気づきました。注文完了時に行われる処理の１つは、注文者と管理者にメールが送信されること。今まではsession関連か共有SSLを使っているからかと思い込み、いずれも簡単には探ることができずに、あても無くさまよっていたのですが。。。
「解決した」といっても、じゃあなぜsendmailだとエラーが出るのかは分かっていません。同じサーバで同じデータベースにある同じバージョンのZen Cart、テンプレートもほぼ同じ（ドメインは別）ショップではまだエラーが出ていないんです。そうすると、それこそ原因はZen Cart側ではなくて、このドメインのsendmailの設定ファイルが壊れた？とかメールサーバ側の問題じゃなかろうか、とすら思えてきます。わかりません。
&#8212;
※メール送信 &#8211; 接続方法を「smtp」に変えたら、ページ下部のsmtpアカウント関連の値も設定します。設定しなくてもエラーは出ませんが、メールが送信されません（当たり前か）。
サーバ環境）

レンタルサーバ: エックスサーバー X10（サーバ番号: sv67）
MySQL: 4.0.27-Max（EUC-JP）
ZenCart: 1.3.0.2-l10n-jp-4（EUC-JP）
PHP: 4.3.9
Apache: 2.0.52
OS: Linux
CPU: Core2 Duo E6600 ( 2.40GHz )
Memory: 4GB

]]></description>
		<link>http://zencart.memoblog.net/2009/04/14/%e3%80%8c%e3%81%94%e6%b3%a8%e6%96%87%e3%81%ae%e7%a2%ba%e5%ae%9a%e3%80%8d%e3%81%a7%e3%81%aeinternal-server-error-500-%e3%81%8c%e8%a7%a3%e6%b1%ba%e3%80%82/</link>
			</item>
	<item>
		<title>phpMyAdminでインポート時にエラー。</title>
		<description><![CDATA[今、ordersテーブルの情報を古いデータベースから新しいデータベースにインポートしようとしたらエラーが出てインポートできなかったの確認してみると不思議な現象が。
「事業所&#8217;」　…事業所＋シングルクォート
であるべきの顧客情報の住所の一部が↓
「事業洲」　…事業洲（シングルクォートなし）
になっていてシンタックスエラー。文字が置き換わり、シングルクォートが欠けている。原因は不明。エディタで検索置換をかけて問題解決。
サーバ環境）

エックスサーバー
MySQL: 4.0.27-Max（EUC-JP）
ZenCart: 1.3.0.2-l10n-jp-4（EUC-JP）
PHP: 4.3.9
テキストエディタ: mi 2.1.6（MacOS X）

]]></description>
		<link>http://zencart.memoblog.net/2009/04/14/phpmyadmin%e3%81%a7%e3%82%a4%e3%83%b3%e3%83%9d%e3%83%bc%e3%83%88%e6%99%82%e3%81%ab%e3%82%a8%e3%83%a9%e3%83%bc%e3%80%82/</link>
			</item>
	<item>
		<title>注文完了時のメール文面をカスタマイズ。</title>
		<description><![CDATA[メモ。
■編集するファイル
includes&#62;classes&#62;order.php
■編集方法（文言の追加） 
887行目 send_order_email内、「$email_order」という変数が各所でドットで継承するかたちで出てくるので、任意の場所に、下記のように記述。
$email_order .= &#8220;○○○○&#8221;;
「.=」としないとそれまでの値を上書きしてしまうので注意。
■例：「お支払い方法」セクションの後に挿入
981行目、$html_msg['PAYMENT_METHOD_FOOTER']&#8230;&#8230;. の次の行あたりに挿入。
]]></description>
		<link>http://zencart.memoblog.net/2009/04/07/%e6%b3%a8%e6%96%87%e5%ae%8c%e4%ba%86%e6%99%82%e3%81%ae%e3%83%a1%e3%83%bc%e3%83%ab%e6%96%87%e9%9d%a2%e3%82%92%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba%e3%80%82/</link>
			</item>
	<item>
		<title>ページによって＜title＞を変える。</title>
		<description><![CDATA[■編集するファイル
includes/modules/meta_tags.php
■商品個別ページの&#60;title&#62;をつくっている場所
256行目
define(&#8216;META_TAG_TITLE&#8217;, str_replace(&#8216;&#8221;&#8216;,&#8221;,$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE . SITE_TAGLINE));

str_replace(&#8216;&#8221;&#8216;,&#8221;　＝その後のセクションでつくられた文字列中のダブルクォーテーションを削除(空白に置換)
$review_on　＝不明
$meta_products_name　＝商品名
$meta_products_price　＝価格
PRIMARY_SECTION　＝languages/Japanease/meta_tag.phpで定義した接続詞
TITLE　＝同上、定義したサイト名
SITE_TAGLINE　＝同上、定義したサイトの説明（タグライン）

私の考えでは、タグラインは商品個別ページに入ったらSEO的には邪魔なので削除しました。長くなりすぎるし。
define(&#8216;META_TAG_TITLE&#8217;, str_replace(&#8216;&#8221;&#8216;,&#8221;,$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE));
なお、商品名の後につく [モデル] は、246行目、$meta_products_nameに代入しているところで、
. &#8216; [' . $product_info_metatags-&#62;fields['products_model'] . &#8216;]&#8217;
この部分をコメントアウトしてやれば良い。
/*. &#8216; [' . $product_info_metatags-&#62;fields['products_model'] . &#8216;]&#8217;*/
&#8212;
商品個別ページ以外のカテゴリ等の場合もこのファイル内に同様のパターンで記述されています。（switch case 形式で）
]]></description>
		<link>http://zencart.memoblog.net/2009/02/13/%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e3%82%88%e3%81%a3%e3%81%a6%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82/</link>
			</item>
	<item>
		<title>meta descriptionに勝手に?挿入されている→「おめでとうございます！&#8230;インストールに成功しました」</title>
		<description><![CDATA[headのmeta description内に、セットアップが完了した時のメッセージがいまだに残ったままだった！
「おめでとうございます!オンラインショップ構築ソフトZen Cart 日本語版のインストールに成功しました。」
少々あせって探して触っていると、とりあえず、下記の作業で除去できました。
includes/modules/meta_tags.php の 138行目（define(&#8216;META_TAG_DESCRIPTION&#8230;の行）
. str_replace(array(&#8220;&#8216;&#8221;,&#8217;&#8221;&#8216;),&#8221;,strip_tags(HEADING_TITLE))
↑この部分をごっそり削除する。
何だろ、このわけわからなさ汗；
#meta keywordsにも同じメッセージが入ってるのでこれから作業
【追記】
meta keywords はそのすぐ下の139行目でした。同じ内容。下記を削除。弊害があるかどうかは今の段階では分からない。
 . &#8216;,&#8217; . str_replace(array(&#8220;&#8216;&#8221;,&#8217;&#8221;&#8216;),&#8221;,strip_tags(HEADING_TITLE))
]]></description>
		<link>http://zencart.memoblog.net/2009/02/13/meta-description%e3%81%ab%e5%8b%9d%e6%89%8b%e3%81%ab%e6%8c%bf%e5%85%a5%e3%81%95%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e2%86%92%e3%80%8c%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96/</link>
			</item>
	<item>
		<title>原因不明のInternal Server Errorが「ご注文の確定」ボタンクリックで発生。</title>
		<description><![CDATA[Internal Server Errorが発生。以前は問題なく注文完了していたのが、注文プロセス最後の「ご注文の確定」ボタンをクリックすると、エラー。
実際のところ、注文は完了していて、顧客と管理者にもご注文確認メールは届き、管理画面にも新しい注文としてエントリーされている。

管理画面の「セッション管理の設定」をいろいろ変えてみたが変化なし（すべての組み合わせは試せていない）。
ブラウザのキャッシュを空にして再起動は何度も試すが変化なし。
WindowsのInternetExploror、MacのSafari、Firefox 3でも同様。
データベースのsessionテーブルの中身を削除したが変化なし。
原因となりそうなテンプレート（tpl_checkout_confirmation_default.php、tpl_checkout_success_default.php、tpl_time_out_default.php）を入れ替えたが変化なし。
.htaccess、php.iniともに特に変わった記述なし。
SSL（共有SSL）を使わない設定にしても変化なし。
同じサーバ上、同じデータベースに同じバージョンのZenCartが稼働しており、こちらは問題なし。
Googleで検索してもほとんど情報なし。ZenCart本家のBBSで、DBを入れ直したら来た、という書き込みあり（古いスレッドだが）

ここまでくると、再インストールするしかないのだろうか。しかし原因が分かっていないのはスッキリしないし、再発防止もできない。
サーバ情報）

Zen Cart: 1.3.0.2-l10n-jp-3

PHP バージョン: 4.3.9 (Zendのバージョン: 1.3.0)
MySQL: 4.0.27-Max
HTTP サーバ: Apache/2.0.52 (Red Hat)

サーバOS: Linux 2.6.9-78.0.8.ELsmp 

]]></description>
		<link>http://zencart.memoblog.net/2008/12/09/%e5%8e%9f%e5%9b%a0%e4%b8%8d%e6%98%8e%e3%81%aeinternal-server-error%e3%81%8c%e3%80%8c%e3%81%94%e6%b3%a8%e6%96%87%e3%81%ae%e7%a2%ba%e5%ae%9a%e3%80%8d%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%af%e3%83%aa/</link>
			</item>
	<item>
		<title>PHP5に移行してログイン出来なくなったら。</title>
		<description><![CDATA[以前はログインできていたZenCartの管理画面に、以下のようなエラーが出てログインできなくなった。
Fatal error: Call to a member function Execute() on a non-object in /○○○○/public_html/zencart/includes/functions/strict_sessions.php on line 66
考えられる要因は、使用しているレンタルサーバがPHP4 → PHP5 に強制的に切り替わったこと。
上記エラーで調べたところ下記の対処法を発見。
includes/functions/strict_sessions.php の55行目
&#8212;
【修正前】
function _sess_write($key, $val) {
global $db;
global $SESS_LIFE
【修正後】
function _sess_write($key, $val) {
// The following is only to work around a PHP 5.2.0 bug:
global $db; if (!is_object($db)) {
//PHP 5.2.0 bug workaround …
$db = new queryFactory();
$db-&#62;connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE, USE_PCONNECT, false);
}
global [...]]]></description>
		<link>http://zencart.memoblog.net/2008/11/26/php5%e3%81%ab%e7%a7%bb%e8%a1%8c%e3%81%97%e3%81%a6%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e5%87%ba%e6%9d%a5%e3%81%aa%e3%81%8f%e3%81%aa%e3%81%a3%e3%81%9f%e3%82%89%e3%80%82/</link>
			</item>
	<item>
		<title>注文確認メールに挿入されるcopyrightを変更。</title>
		<description><![CDATA[includes/languages/japanese/email_extras.php
をコピーして
includes/languages/japanese/テンプレート名のフォルダ/email_extras.php
に移動する。
29行目「EMAIL_FOOTER_COPYRIGHT」の項目を書き換える。ソース上の改行はそのまま反映される。
]]></description>
		<link>http://zencart.memoblog.net/2008/11/19/%e6%b3%a8%e6%96%87%e7%a2%ba%e8%aa%8d%e3%83%a1%e3%83%bc%e3%83%ab%e3%81%ab%e6%8c%bf%e5%85%a5%e3%81%95%e3%82%8c%e3%82%8bcopyright%e3%82%92%e5%a4%89%e6%9b%b4%e3%80%82/</link>
			</item>
	<item>
		<title>合計から消費税の表示を消すには。</title>
		<description><![CDATA[ZenCart管理画面 &#62; 地域・税率設定 &#62; 税率設定
にて、税率を 0% にすると、カートの合計欄から消費税の設定が消える。
これをしないと、商品登録で「消費税なし」にしても、消費税が追加されてしまう。
]]></description>
		<link>http://zencart.memoblog.net/2008/11/19/%e5%90%88%e8%a8%88%e3%81%8b%e3%82%89%e6%b6%88%e8%b2%bb%e7%a8%8e%e3%81%ae%e8%a1%a8%e7%a4%ba%e3%82%92%e6%b6%88%e3%81%99%e3%81%ab%e3%81%af%e3%80%82/</link>
			</item>
	<item>
		<title>送料定額 + 送料無料の設定</title>
		<description><![CDATA[【送料の例】お買い上げ金額 5,000円以上無料、5,000円未満は定額600円。代引き手数料420円。
【方法】実査法を使う
【解説】
管理画面＞モジュール＞配送
にて「実査法」をモジュールインストールして編集

「料金リスト」に
4999:600,
と入力。コンマまで含める。
管理画面＞モジュール＞注文合計
にて「代金引換手数料」をモジュールインストールして編集
「COD Fee for TABLE」に
00:420,
と入力。コンマまで含める。
※あらかじめモジュール＞代金引換をモジュールインストールしておく。

以上
]]></description>
		<link>http://zencart.memoblog.net/2008/11/14/%e9%80%81%e6%96%99%e5%ae%9a%e9%a1%8d-%e9%80%81%e6%96%99%e7%84%a1%e6%96%99%e3%81%ae%e8%a8%ad%e5%ae%9a/</link>
			</item>
</channel>
</rss>
