代金引換 のモジュールに最低利用料金の設定を取り入れたいのですが  【解決済み】

困った時はこちらで質問してください。回答を担当する人は特に決まっていませんので、分かる方は回答をお願いします。
アバター
ことく

代金引換 のモジュールに最低利用料金の設定を取り入れたいのですが  【解決済み】

投稿記事by ことく » 2009/6/27 17:05

代金引換 のモジュールに最低利用料金の設定を取り入れたくてイロイロと試してみてるのですがどうしても判りません;
一応、クロネコ@ペイメントのモジュールの最低注文料金の設定の部分をまねして作ってみてるのですが
cod.php に書き込むと、設定画面で入力欄のみ表示されて、
動作してる様子も無く、”最低金額”というステータスの表示も無いです。

代引き手数料を店負担としている関係で300円以上の金額でないと代引きを使えないようにしたいのですが
何か方法は有るでしょうか?
代引き以外の注文方法では小額の注文もできるように残しておきたいです)

お知恵を拝借したく書き込みしましたm(。_。)m

http://kotokudo.obitastar.biz/
アバター
kimono
記事: 1995
登録日時: 2005/9/27 13:30
お住まい: 大阪府大阪市天王寺区上本町
連絡を取る:

Re: 代金引換 のモジュールに最低利用料金の設定を取り入れたいのですが

投稿記事by kimono » 2009/6/30 16:18

こんにちわ。kimonoです :)

includes/modules/cod.phpをカスタマイズして、
59行目辺りの
} elseif ($check->fields['zone_id'] == $order->delivery['zone_id']) {
$check_flag = true;
break;
}
$check->MoveNext();
}

if ($check_flag == false) {
$this->enabled = false;
}

に追加。
} elseif ($check->fields['zone_id'] == $order->delivery['zone_id']) {
$check_flag = true;
break;
}
$check->MoveNext();
}
$total_price = $order->info['total'];
if ($total_price < MODULE_PAYMENT_COD_MINIMUM_TOTAL_PRICE) {
$check_flag = false;
}

if ($check_flag == false) {
$this->enabled = false;
}


123行目辺りに追加。
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('代金引換モジュールを有効にする', 'MODULE_PAYMENT_COD_STATUS', 'True', '代金引換を受け付けますか?', '6', '1', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('適用地域', 'MODULE_PAYMENT_COD_ZONE', '0', '適用地域を選択すると、選択した地域のみで利用可能となります。', '6', '2', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('表示の整列順', 'MODULE_PAYMENT_COD_SORT_ORDER', '0', '表示の整列順を設定できます。数字が小さいほど上位に表示されます。', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('初期注文ステータス', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', '0', '設定したステータスが受注時に適用されます。', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");


これを
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('代金引換モジュールを有効にする', 'MODULE_PAYMENT_COD_STATUS', 'True', '代金引換を受け付けますか?', '6', '1', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('適用地域', 'MODULE_PAYMENT_COD_ZONE', '0', '適用地域を選択すると、選択した地域のみで利用可能となります。', '6', '2', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('表示の整列順', 'MODULE_PAYMENT_COD_SORT_ORDER', '0', '表示の整列順を設定できます。数字が小さいほど上位に表示されます。', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('最低金額', 'MODULE_PAYMENT_COD_MINIMUM_TOTAL_PRICE', '0', '代金引換を適用する最低金額を入力してください。', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('初期注文ステータス', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', '0', '設定したステータスが受注時に適用されます。', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");


135行目辺り
function keys() {
return array('MODULE_PAYMENT_COD_STATUS', 'MODULE_PAYMENT_COD_ZONE', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', 'MODULE_PAYMENT_COD_SORT_ORDER');
}


function keys() {
return array('MODULE_PAYMENT_COD_STATUS', 'MODULE_PAYMENT_COD_ZONE', 'MODULE_PAYMENT_COD_ORDER_STATUS_ID', 'MODULE_PAYMENT_COD_MINIMUM_TOTAL_PRICE', 'MODULE_PAYMENT_COD_SORT_ORDER');
}

にします。


こんな感じでどうでしょうかね?
テストしてませんし、バックアップもしっかりとっていただいて、先に管理画面のモジュール、支払方法からアンインストールしてから、アップロードし、それからインストールしなおしてくださいね :wink:
アバター
ことく

有難うございます

投稿記事by ことく » 2009/7/01 00:28

いつもお世話になっております。有難うございます :D
一回アンインストールをしてから再度認識したら上手くいきました?♪
あきらめてたんですが設定できるようになって嬉しいです :D
本当に有難うございます。
アバター
ことく

Re: 代金引換 のモジュールに最低利用料金の設定を取り入れたいのですが

投稿記事by ことく » 2009/7/01 01:04

:roll: あわわ試しに自分で注文してみたんですが何故か最低金額を認識せずにスルーしてしまいました;
もう少し色々考えて見ます;;;

“Zen Cart 質問コーナー” へ戻る