Die Problemstellung:
Händler sollten im Shop keinen Rabatt auf die Zahlungsart Vorauskasse bekommen.
Das Modul "Rabatt auf Zahlungsarten" gibt keine solche Einstellung her.
Ich habe das Problem wie folgt gelöst:
Das Modul includes/modules/payment/
eustandardtransfer.php habe ich kopiert und umgemünzt in
eustandardtransfer_handler.php mit folgendem Inhalt:
<?php/* -----------------------------------------------------------------------------------------
$Id: eustandardtransfer.php 998 2005-07-07 14:18:20Z mz $
XT-Commerce - community made shopping
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(ptebanktransfer.php,v 1.4.1 2003/09/25 19:57:14); www.oscommerce.com
Released under the GNU General Public License
Umbenannt in eustandardtransfer_handler.php von Kawabiker60 11/2010
---------------------------------------------------------------------------------------*/class eustandardtransfer_handler
{ var $code, $title, $description, $enabled; // class constructor function eustandardtransfer_handler
() { $this->code = 'eustandardtransfer_handler'; $this->title = MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_TITLE
; $this->description = MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_DESCRIPTION
; $this->sort_order = MODULE_PAYMENT_EUTRANSFER_HANDLER_SORT_ORDER
; $this->info = MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_INFO
; $this->enabled = ((MODULE_PAYMENT_EUTRANSFER_HANDLER_STATUS
== 'True') ?
true : false); } // class methods function javascript_validation
() { return false; } function selection
() { return array ('id' => $this->code, 'module' => $this->title, 'description' => $this->info); } // function selection() { // return false; // } function pre_confirmation_check
() { return false; } // I take no credit for this, I just hunted down variables, the actual code was stolen from the 2checkout // module. About 20 minutes of trouble shooting and poof, here it is. -- Thomas Keats function confirmation
() { global $_POST; $confirmation = array ('title' => $this->title.': '.$this->check, 'fields' => array (array ('title' => MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_DESCRIPTION
)), 'description' => $this->info); return $confirmation; } function process_button
() { return false; } function before_process
() { return false; } function after_process
() { global $insert_id; if ($this->order_status) xtc_db_query
("UPDATE ".TABLE_ORDERS
." SET orders_status='".$this->order_status."' WHERE orders_id='".$insert_id."'"); } function output_error
() { return false; } function check
() { if (!isset ($this->check)) { $check_query = xtc_db_query
("select configuration_value from ".TABLE_CONFIGURATION
." where configuration_key = 'MODULE_PAYMENT_EUTRANSFER_HANDLER_STATUS'"); $this->check = xtc_db_num_rows
($check_query); } return $this->check; } function install
() { xtc_db_query
("insert into ".TABLE_CONFIGURATION
." ( configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUSTANDARDTRANSFER_HANDLER_ALLOWED', '', '6', '0', now())"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, set_function, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_STATUS', 'True', '6', '3', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKNAM', '---', '6', '1', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_BRANCH', '---', '6', '1', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNAM', '---', '6', '1', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNUM', '---', '6', '1', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCIBAN', '---', '6', '1', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKBIC', '---', '6', '1', now());"); xtc_db_query
("insert into ".TABLE_CONFIGURATION
." (configuration_key, configuration_value,configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_EUTRANSFER_HANDLER_SORT_ORDER', '0', '6', '0', now())"); } function remove
() { xtc_db_query
("delete from ".TABLE_CONFIGURATION
." where configuration_key in ('".implode("', '", $this->keys())."')"); } function keys
() { $keys = array ('MODULE_PAYMENT_EUTRANSFER_HANDLER_STATUS', 'MODULE_PAYMENT_EUSTANDARDTRANSFER_HANDLER_ALLOWED', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKNAM', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_BRANCH', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNAM', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNUM', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCIBAN', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKBIC', 'MODULE_PAYMENT_EUTRANSFER_HANDLER_SORT_ORDER'); return $keys; }}?> Die entsprechende Sprachdatei
lang/german/modules/payment/
eustandardtransfer.phpwurde ebenfalls umbenannt in
eustandardtransfer_handler.php mit folgendem Inhalt:
<?php/* -----------------------------------------------------------------------------------------
$Id: eustandardtransfer_handler.php 998 2005-07-07 14:18:20Z mz $
XT-Commerce - community made shopping
http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(ptebanktransfer.php,v 1.4.1 2003/09/25 19:57:14); www.oscommerce.com
Released under the GNU General Public License
Umbenannt in eustandardtransfer_handler.php von Kawabiker60 11/2010
---------------------------------------------------------------------------------------*/ define('MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_TITLE', 'Vorauszahlung (EU-Standard Bank Transfer)'); define('MODULE_PAYMENT_EUSTANDARDTRANSFER_HANDLER_TEXT_TITLE', 'Vorauszahlung (EU-Standard Bank Transfer)'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_DESCRIPTION', '<br />Sie haben die Zahlungsmethode Vorauskasse ausgewählt. ' . ' Bitte verwenden Sie folgende Daten für die Überweisung des Gesamtbetrages:<br/>' . '<br />Name der Bank: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKNAM
. '<br />Kontoinhaber: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_BRANCH
. '<br />Bankleitzahl: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNAM
. '<br />Kontonummer: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNUM
. '<br />IBAN: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCIBAN
. '<br />BIC/SWIFT: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKBIC
.// '<br />Sort Code: ' . MODULE_PAYMENT_EUTRANSFER_HANDLER_SORTCODE . '<br /><br />Ihre Bestellung wird erst angenommen und die Ware versandt, wenn Ihre Zahlung auf unserem Konto eingegangen ist.<br />'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_TEXT_INFO','Überweisen Sie den Rechnungsbetrag auf unser Konto. Die Kontodaten erhalten Sie nach Bestellannahme per E-Mail'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_STATUS_TITLE','EU-Standart Bank Transfer erlauben'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_STATUS_DESC','Do you want to accept bank transfer order payments?'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_BRANCH_TITLE','Kontoinhaber'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_BRANCH_DESC','The brach where you have your account.'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKNAM_TITLE','Bankname'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKNAM_DESC','Your full bank name'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNAM_TITLE','Bankleitzahl'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNAM_DESC','The name associated with the account.'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNUM_TITLE','Kontonummer'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCNUM_DESC','Your account number.'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCIBAN_TITLE','Bank Account IBAN'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_ACCIBAN_DESC','International account id.<br />(ask your bank if you don\'t know it)'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKBIC_TITLE','Bank Bic'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_BANKBIC_DESC','International bank id.<br />(ask your bank if you don\'t know it)'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_SORT_ORDER_TITLE','Sortierung'); define('MODULE_PAYMENT_EUTRANSFER_HANDLER_SORT_ORDER_DESC','Sort order of display. Lowest is displayed first.'); define('MODULE_PAYMENT_EUSTANDARDTRANSFER_HANDLER_ALLOWED_TITLE' , 'Erlaubte Zonen'); define('MODULE_PAYMENT_EUSTANDARDTRANSFER_HANDLER_ALLOWED_DESC' , 'Geben Sie <b>einzeln</b> die Zonen an, welche für dieses Modul erlaubt sein sollen. (z.B. AT,DE (wenn leer, werden alle Zonen erlaubt))');?> Modul Rabatt auf Zahlungsarten für
eustandardtransfer aktivieren (laut Einbauanleitung)
Es werden beide Zahlungsarten im Shop aktiviert und in den Kundengruppen die jeweiligen Zahlungsarten verboten. Händler dürfen nicht mit
eustandardtransfer - alle anderen dürfen nicht mit
eustandardtransfer_handler bazahlen.
Keine Garantie
Sicherung vor dem Umbau nicht vergessenLinkback: https://www.modified-shop.org/forum/index.php?topic=9745.0