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: invoice Zahlungsmodul Verbesserung

    Marcel G.

    • Fördermitglied
    • Beiträge: 398
    invoice Zahlungsmodul Verbesserung
    am: 23. Februar 2013, 00:01:24
    Man kann im invoice Zahlungsmodul einstellen wie viele Bestellungen der Kunde haben muss, um per Rechnung zahlen zu können.
    Die Abfrage im Modul filtert allerdings nicht, sprich egal ob der Bestellstatus PayPal Abbruch, storniert, offen usw. ist.
    Durch die nachfolgenden Änderungen kann man beim Modul einstellen, welche Bestellstatus berücksichtigt werden und welches Mindestalter diese haben müssen.

    Folgenden SQL Befehl in der Datenbank ausführen:
    Code: PHP  [Auswählen]
    INSERT INTO `configuration` (`configuration_id`, `configuration_key`, `configuration_value`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES (NULL, 'MODULE_PAYMENT_INVOICE_ORDER_STATUS', '3', '6', '0', NULL, NOW(), NULL, NULL), (NULL, 'MODULE_PAYMENT_INVOICE_ORDER_DATE', '15', '6', '0', NULL, NOW(), NULL, NULL);

    In die lang/german/modules/payment/invoice.php folgendes ans Ende vor "?>" einfügen:
    Code: PHP  [Auswählen]
    define('MODULE_PAYMENT_INVOICE_ORDER_STATUS_TITLE' , 'Notwendige Bestellungen - Bestellstatus');
    define('MODULE_PAYMENT_INVOICE_ORDER_STATUS_DESC' , 'Bei der Anzahl an Bestellungen zählen nur solche, die einen der folgenden Bestellstatus haben (ID, mit Komma getrennt).');
    define('MODULE_PAYMENT_INVOICE_ORDER_DATE_TITLE' , 'Notwendige Bestellungen - Mindestalter');
    define('MODULE_PAYMENT_INVOICE_ORDER_DATE_DESC' , 'Bei der Anzahl an Bestellungen zählen nur solche, die älter als x Tage sind (0 = egal).');

    In die lang/english/modules/payment/invoice.php folgendes ans Ende vor "?>" einfügen:
    Code: PHP  [Auswählen]
    define('MODULE_PAYMENT_INVOICE_ORDER_STATUS_TITLE' , 'Minimum Orders - Orders status');
    define('MODULE_PAYMENT_INVOICE_ORDER_STATUS_DESC' , 'The number of orders only include one of the following order status (ID, comma separated).');
    define('MODULE_PAYMENT_INVOICE_ORDER_DATE_TITLE' , 'Minimum Orders - minimum age');
    define('MODULE_PAYMENT_INVOICE_ORDER_DATE_DESC' , 'The number of orders include only those that are older than x days (0 = no matter).');

    Nun entweder die includes/modules/payment/invoice mit der im Anhang ersetzen oder folgende Änderungen selber durchführen:

    Suche:
    Code: PHP  [Auswählen]
    function update_status() {
                    global $order;
    Danach einfügen:
    Code: PHP  [Auswählen]
            if(MODULE_PAYMENT_INVOICE_ORDER_DATE > 0)
                            $min_date = " AND date_purchased <= '".date('Y-m-d', strtotime('-'.MODULE_PAYMENT_INVOICE_ORDER_DATE.' days'))."'";

    Suche:
    Code: PHP  [Auswählen]
    $check_order_query = xtc_db_query("select count(*) as count from ".TABLE_ORDERS." where customers_id = '".(int) $_SESSION['customer_id']."'");
    Ersetze mit:
    Code: PHP  [Auswählen]
            $check_order_query = xtc_db_query("select count(*) as count from ".TABLE_ORDERS." where customers_id = '".(int) $_SESSION['customer_id']."' AND orders_status IN(".MODULE_PAYMENT_INVOICE_ORDER_STATUS.")".$min_date."");

    Suche:
    Code: PHP  [Auswählen]
    xtc_db_query("insert into ".TABLE_CONFIGURATION." ( configuration_key, configuration_value,  configuration_group_id, sort_order, set_function, use_function, date_added) values ('MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID', '0',  '6', '0', 'xtc_cfg_pull_down_order_statuses(', 'xtc_get_order_status_name', now())");
    Danach einfügen:
    Code: PHP  [Auswählen]
            xtc_db_query("insert into ".TABLE_CONFIGURATION." ( configuration_key, configuration_value,  configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_INVOICE_ORDER_STATUS', '3',  '6', '0', now())");
                    xtc_db_query("insert into ".TABLE_CONFIGURATION." ( configuration_key, configuration_value,  configuration_group_id, sort_order, date_added) values ('MODULE_PAYMENT_INVOICE_ORDER_DATE', '15',  '6', '0', now())");

    Suche:
    Code: PHP  [Auswählen]
    return array ('MODULE_PAYMENT_INVOICE_STATUS', 'MODULE_PAYMENT_INVOICE_ALLOWED', 'MODULE_PAYMENT_INVOICE_ZONE', 'MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID', 'MODULE_PAYMENT_INVOICE_MIN_ORDER', 'MODULE_PAYMENT_INVOICE_SORT_ORDER');

    Ersetze mit:
    Code: PHP  [Auswählen]
            return array ('MODULE_PAYMENT_INVOICE_STATUS', 'MODULE_PAYMENT_INVOICE_ALLOWED', 'MODULE_PAYMENT_INVOICE_ZONE', 'MODULE_PAYMENT_INVOICE_ORDER_STATUS_ID', 'MODULE_PAYMENT_INVOICE_MIN_ORDER', 'MODULE_PAYMENT_INVOICE_SORT_ORDER', 'MODULE_PAYMENT_INVOICE_ORDER_STATUS', 'MODULE_PAYMENT_INVOICE_ORDER_DATE');

    Nun kann im Backend beim Zahlungsmodul die Bestellstatus und das mindestalter in Tagen eintragen.

    Viel Spaß damit.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=24940.0
    5 Antworten
    4566 Aufrufe
    06. Februar 2019, 11:05:03 von Baschtl
    14 Antworten
    5598 Aufrufe
    12. Januar 2010, 19:52:24 von Tomcraft
    5 Antworten
    4645 Aufrufe
    19. Mai 2012, 11:32:44 von web28
    1 Antworten
    2643 Aufrufe
    10. Februar 2016, 12:00:54 von Thomas