WordPress用絞り込み検索プラグイン »

10月
29
2010
128

代引手数料を購入金額によって変更。

代引手数料を合計に加算させたいですが。。。。」 Zen-Cart.jp コミュニティ掲示板より

例)
購入金額30,000円未満 =代引手数料 420円
購入金額30,000円以上 =代引手数料 630円

■修正ファイル
/includes/modules/order_total/ot_cod_fee.php

■修正箇所
60〜61行目

コメントアウト→ //if ($cod_zones[$i] == $order->delivery['country']['iso_code_2']) {
追記→ if ($cod_zones[$i] >= $order->info['total']) { //注文合計から算出

■管理画面での設定

  1. モジュール>注文合計>代金引換手数料(モジュールをインストール)
  2. COD Fee for FLAT にて
    29999:420,99999999:630,
  3. 更新

以上

■解説

通常、国番号を入れる部分(コロンの前半)を、購入金額の設定欄として応用。

■バージョン

Zen Cart 1.3.0.2-l10n-jp-3

Written by みやざわ in: ZenCart カスタマイズ | タグ:
4月
14
2009
192

「ご注文の確定」でのInternal Server Error 500 が解決。

追記:2010/4/20

いつの時点からか「注文完了時のメールが届かない」とのご報告をいただいたので、再び SMTP → sendmail に設定を戻しました。今度は Internal Server Error 500 は発生せず、メールも無事届いています。

以前「原因不明のInternal Server Errorが「ご注文の確定」ボタンクリックで発生。」という記事を書きましたが、とりあえず解決したのでメモ。

その後、新規インストールを行ってエラーが出なくなったので良かったと思っていたら再発。集中的に調べてみると、原因は「メールの設定」にありました。

結論から書くと、「メール送信 – 接続方法」を、sendmailではなくsmtpにしました。これで解決。トホホ…

解決の糸口の糸口は、こちらのZen Cart本家のフォーラムの書き込みにありました。同じ原因かどうかはわかりませんが、書き込みの中で「メールの送信方法を変えてみろ」とあって気づきました。注文完了時に行われる処理の1つは、注文者と管理者にメールが送信されること。今まではsession関連か共有SSLを使っているからかと思い込み、いずれも簡単には探ることができずに、あても無くさまよっていたのですが。。。

「解決した」といっても、じゃあなぜsendmailだとエラーが出るのかは分かっていません。同じサーバで同じデータベースにある同じバージョンのZen Cart、テンプレートもほぼ同じ(ドメインは別)ショップではまだエラーが出ていないんです。そうすると、それこそ原因はZen Cart側ではなくて、このドメインのsendmailの設定ファイルが壊れた?とかメールサーバ側の問題じゃなかろうか、とすら思えてきます。わかりません。

※メール送信 – 接続方法を「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
Written by みやざわ in: エラー | タグ: , , ,
4月
14
2009
205

phpMyAdminでインポート時にエラー。

今、ordersテーブルの情報を古いデータベースから新しいデータベースにインポートしようとしたらエラーが出てインポートできなかったの確認してみると不思議な現象が。

事業所’」 …事業所+シングルクォート

であるべきの顧客情報の住所の一部が↓

事業洲」 …事業洲(シングルクォートなし)

になっていてシンタックスエラー。文字が置き換わり、シングルクォートが欠けている。原因は不明。エディタで検索置換をかけて問題解決。

サーバ環境)

  • エックスサーバー
  • 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)
4月
07
2009
248

注文完了時のメール文面をカスタマイズ。

メモ。

■編集するファイル

includes>classes>order.php

■編集方法(文言の追加) 

887行目 send_order_email内、「$email_order」という変数が各所でドットで継承するかたちで出てくるので、任意の場所に、下記のように記述。

$email_order .= “○○○○”;

「.=」としないとそれまでの値を上書きしてしまうので注意。

■例:「お支払い方法」セクションの後に挿入

981行目、$html_msg['PAYMENT_METHOD_FOOTER']……. の次の行あたりに挿入。

Written by みやざわ in: ZenCart カスタマイズ | タグ:
2月
13
2009
240

ページによって<title>を変える。

■編集するファイル

includes/modules/meta_tags.php

■商品個別ページの<title>をつくっている場所

256行目
define(’META_TAG_TITLE’, str_replace(’”‘,”,$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE . SITE_TAGLINE));

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

私の考えでは、タグラインは商品個別ページに入ったらSEO的には邪魔なので削除しました。長くなりすぎるし。

define(’META_TAG_TITLE’, str_replace(’”‘,”,$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE));

なお、商品名の後につく [モデル] は、246行目、$meta_products_nameに代入しているところで、

. ‘ [' . $product_info_metatags->fields['products_model'] . ‘]’

この部分をコメントアウトしてやれば良い。

/*. ‘ [' . $product_info_metatags->fields['products_model'] . ‘]’*/

商品個別ページ以外のカテゴリ等の場合もこのファイル内に同様のパターンで記述されています。(switch case 形式で)

Written by みやざわ in: ZenCart カスタマイズ | タグ: , ,
2月
13
2009
191

meta descriptionに勝手に?挿入されている→「おめでとうございます!…インストールに成功しました」

headのmeta description内に、セットアップが完了した時のメッセージがいまだに残ったままだった!

「おめでとうございます!オンラインショップ構築ソフトZen Cart 日本語版のインストールに成功しました。」

少々あせって探して触っていると、とりあえず、下記の作業で除去できました。

includes/modules/meta_tags.php138行目(define(’META_TAG_DESCRIPTION…の行)

. str_replace(array(”‘”,’”‘),”,strip_tags(HEADING_TITLE))

↑この部分をごっそり削除する。

何だろ、このわけわからなさ汗;

#meta keywordsにも同じメッセージが入ってるのでこれから作業

【追記】

meta keywords はそのすぐ下の139行目でした。同じ内容。下記を削除。弊害があるかどうかは今の段階では分からない。

 . ‘,’ . str_replace(array(”‘”,’”‘),”,strip_tags(HEADING_TITLE))

Written by みやざわ in: ZenCart カスタマイズ | タグ: , , ,
12月
09
2008
275

原因不明のInternal Server Errorが「ご注文の確定」ボタンクリックで発生。

Internal Server Errorが発生。以前は問題なく注文完了していたのが、注文プロセス最後の「ご注文の確定」ボタンをクリックすると、エラー。

実際のところ、注文は完了していて、顧客と管理者にもご注文確認メールは届き、管理画面にも新しい注文としてエントリーされている。

  1. 管理画面の「セッション管理の設定」をいろいろ変えてみたが変化なし(すべての組み合わせは試せていない)。
  2. ブラウザのキャッシュを空にして再起動は何度も試すが変化なし。
  3. WindowsのInternetExploror、MacのSafari、Firefox 3でも同様。
  4. データベースのsessionテーブルの中身を削除したが変化なし。
  5. 原因となりそうなテンプレート(tpl_checkout_confirmation_default.php、tpl_checkout_success_default.php、tpl_time_out_default.php)を入れ替えたが変化なし。
  6. .htaccess、php.iniともに特に変わった記述なし。
  7. SSL(共有SSL)を使わない設定にしても変化なし。
  8. 同じサーバ上、同じデータベースに同じバージョンのZenCartが稼働しており、こちらは問題なし。
  9. 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 
Written by みやざわ in: エラー | タグ: ,
11月
26
2008
239

PHP5に移行してログイン出来なくなったら。

以前はログインできていた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行目

【修正前】
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->connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE, USE_PCONNECT, false);
}
global $SESS_LIFE;

エラーに遭遇した環境:バージョン)

  • ZenCart 1.3.0.2-l10n-jp-2
  • MySQL 4.0.24
  • PHP 5.2.6

参考サイト)

11月
19
2008
121

注文確認メールに挿入されるcopyrightを変更。

includes/languages/japanese/email_extras.php

をコピーして

includes/languages/japanese/テンプレート名のフォルダ/email_extras.php

に移動する。

29行目「EMAIL_FOOTER_COPYRIGHT」の項目を書き換える。ソース上の改行はそのまま反映される。

Written by みやざわ in: ZenCart カスタマイズ | タグ: , ,
11月
19
2008
292

合計から消費税の表示を消すには。

ZenCart管理画面 > 地域・税率設定 > 税率設定

にて、税率を 0% にすると、カートの合計欄から消費税の設定が消える。

これをしないと、商品登録で「消費税なし」にしても、消費税が追加されてしまう。

Written by みやざわ in: 未分類 | タグ: , ,

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes