Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Anleitung - Rabatt auf Zahlungsarten für Händler verbieten

    Kawabiker

    • Fördermitglied
    • Beiträge: 353
    • Geschlecht:
    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:

    Code: PHP  [Auswählen]
    <?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.php
    wurde ebenfalls umbenannt in eustandardtransfer_handler.php mit folgendem Inhalt:

    Code: PHP  [Auswählen]
    <?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 vergessen




    Linkback: https://www.modified-shop.org/forum/index.php?topic=9745.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.370
    • Geschlecht:
    Anleitung - Rabatt auf Zahlungsarten für Händler verbieten
    Antwort #1 am: 02. Dezember 2010, 00:42:26
    Korrigiere mich, wenn ich mich irre, aber du hast doch letztendlich nur das Zahlungsmodul verdoppelt und umbenannt (inkl. der Datenfelder)?

    Grüße

    Torsten

    Kawabiker

    • Fördermitglied
    • Beiträge: 353
    • Geschlecht:
    Anleitung - Rabatt auf Zahlungsarten für Händler verbieten
    Antwort #2 am: 02. Dezember 2010, 01:05:30
    Stimmt. War für mich die einfachste Lösung. Eventuell hilft es ja jemanden. Habe einen ähnlichen Beitrag gesehen der schon geschlossen war.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.370
    • Geschlecht:
    Anleitung - Rabatt auf Zahlungsarten für Händler verbieten
    Antwort #3 am: 02. Dezember 2010, 01:08:48
    Ja klaro, ich wollte es nicht klein reden! Das wird sicherlich mal jemandem helfen. :thx:

    Grüße

    Torsten

    1 Antworten
    2033 Aufrufe
    16. März 2017, 13:58:46 von Tomcraft
    0 Antworten
    1535 Aufrufe
    28. April 2017, 14:52:54 von cooler
    193 Antworten
    89743 Aufrufe
    06. Februar 2024, 00:26:17 von noRiddle (revilonetz)
               
    anything