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: MODUL: Cross Selling Produkte im Warenkorb, Checkout und Bestätigungsmail

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Sorry, jetzt kommt diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Fatal error: Cannot redeclare xtc_get_cross_sell_name() (previously declared in E:\xampplite\htdocs\modified eCommerce Shopsoftware-1.05\admin\includes\functions\general.php:632) in E:\xampplite\htdocs\modified eCommerce Shopsoftware-1.05\inc\get_cross_sell_name.inc.php on line 22
     

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    das ist etwas verzwickt, da du "Bestellungen im Admin nochmals versenden" verwendest.

    Hier mein Lösungsansatz:

    /includes/classes/product.php

    diese Zeilen:

    Code: PHP  [Auswählen]
            function getCrossSells( $cart = false ) {
                    require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');

    damit ersetzen:

    Code: PHP  [Auswählen]
            function getCrossSells( $cart = false ) {
                    if (!function_exists('xtc_get_cross_sell_name')) {
                            require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');
                    }      

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Ich merke wie verzwickt es ist..
    Jetzt kommt diese Meldung:

    Code: PHP  [Auswählen]
    Fatal error: Call to a member function xtcGetPrice() on a non-object in E:\xampplite\htdocs\modified eCommerce Shopsoftware-1.05\includes\classes\product.php on line 412
     

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    verwendest du das hier: "Bestellungen im Admin nochmals versenden"

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Nein das verwende ich nicht.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    OK, neuer Tag, neue Runde.

    Poste mal bitte deine /send_order.php

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Hallo Gerhard,

    hier die Datei:

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: send_order.php 1510 2010-11-22 13:24:04Z dokuman $

       modified eCommerce Shopsoftware - community made shopping
       http://www.modified eCommerce Shopsoftware.org

       Copyright (c) 2010 modified eCommerce Shopsoftware
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce; www.oscommerce.com
       (c) 2003      nextcommerce; www.nextcommerce.org
       (c) 2006      xt:Commerce; www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    require_once (DIR_FS_INC.'xtc_get_order_data.inc.php');
    require_once (DIR_FS_INC.'xtc_get_attributes_model.inc.php');
    // check if customer is allowed to send this order!
    $order_query_check = xtc_db_query("SELECT
                                            customers_id
                                            FROM "
    .TABLE_ORDERS."
                                            WHERE orders_id='"
    .$insert_id."'");

    $order_check = xtc_db_fetch_array($order_query_check);
    //BOF - web28 - 2010-03-20 - Send Order by Admin
    //if ($_SESSION['customer_id'] == $order_check['customers_id'] ) {
    if ($_SESSION['customer_id'] == $order_check['customers_id'] || $send_by_admin) {
    //EOF - web28 - 2010-03-20 - Send Order by Admin
    include(DIR_FS_CATALOG . 'includes/classes/product.php');
            $order = new order($insert_id);
    //BOF - GTB - 2010-08-02 - XSELL Products Shopping Cart
    include(DIR_FS_CATALOG . 'includes/modules/cross_selling.php');
    //EOF - GTB - 2010-08-02 - XSELL Products Shopping Cart

      //BOF - web28 - 2010-03-20 - Send Order by Admin
            if (isset($send_by_admin)) {//DokuMan - 2010-09-18 - Undefined variable: send_by_admin
                    $xtPrice = new xtcPrice($order->info['currency'], $order->info['status']);
            }
      //EOF - web28 - 2010-03-20 - Send Order by Admin

            $smarty->assign('address_label_customer', xtc_address_format($order->customer['format_id'], $order->customer, 1, '', '<br />'));
            $smarty->assign('address_label_shipping', xtc_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br />'));
        if (!isset($_SESSION['credit_covers']) || $_SESSION['credit_covers'] != '1') {
                    $smarty->assign('address_label_payment', xtc_address_format($order->billing['format_id'], $order->billing, 1, '', '<br />'));
            }
            $smarty->assign('csID', $order->customer['csID']);

            $order_total = $order->getTotalData($insert_id); //ACHTUNG für Bestellbestätigung  aus Admin Funktion in admin/includes/classes/order.php
            $smarty->assign('order_data', $order->getOrderData($insert_id)); //ACHTUNG für Bestellbestätigung  aus Admin Funktion in admin/includes/classes/order.php
            $smarty->assign('order_total', $order_total['data']);

            // assign language to template for caching
            $smarty->assign('language', $_SESSION['language']);
           
            $smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
           
            $smarty->assign('logo_path', HTTP_SERVER.DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/img/');
            $smarty->assign('oID', $insert_id);
            if ($order->info['payment_method'] != '' && $order->info['payment_method'] != 'no_payment') {
            //BOF - web28 - 2010-03-20 - Send Order by Admin
            if (isset($send_by_admin)) include (DIR_FS_LANGUAGES.$_SESSION['language'].'/modules/payment/'.$order->info['payment_method'].'.php'); //DokuMan - 2010-09-18 - Undefined variable: send_by_admin
                    else
            //EOF - web28 - 2010-03-20 - Send Order by Admin
                    include (DIR_WS_LANGUAGES.$_SESSION['language'].'/modules/payment/'.$order->info['payment_method'].'.php');
                    $payment_method = constant(strtoupper('MODULE_PAYMENT_'.$order->info['payment_method'].'_TEXT_TITLE'));
            }
            $smarty->assign('PAYMENT_METHOD', $payment_method);
            $smarty->assign('DATE', xtc_date_long($order->info['date_purchased']));

            $smarty->assign('NAME', $order->customer['name']);

            //BOF - web28 - 2010-08-20 - Anrede {$GENDER} in Bestätigungsmail verfügbar machen
            $gender_query = xtc_db_query("SELECT customers_gender FROM " . TABLE_CUSTOMERS . " WHERE customers_id = '" . $order->customer['id'] . "'");
            $gender = xtc_db_fetch_array($gender_query);
            if ($gender['customers_gender']=='f') {
                    $smarty->assign('GENDER', FEMALE);
            } elseif ($gender['customers_gender']=='m') {
                    $smarty->assign('GENDER', MALE);
            } else {
                    $smarty->assign('GENDER', '');
            }
            //EOF - web28 - 2010-08-20 - Anrede {$GENDER} in Bestätigungsmail verfügbar machen

            //BOF - web28 - 2010-08-20 - Erweiterung Variablen für Bestätigungsmail
            $smarty->assign('CITY', $order->customer['city']);
            $smarty->assign('POSTCODE', $order->customer['postcode']);
            $smarty->assign('STATE', $order->customer['state']);
            $smarty->assign('COUNTRY', $order->customer['country']);
            $smarty->assign('COMPANY', $order->customer['company']);
            $smarty->assign('STREET', $order->customer['street_address']);
            $smarty->assign('FIRSTNAME', $order->customer['firstname']);
        $smarty->assign('LASTNAME', $order->customer['lastname']);
            //EOF - web28 - 2010-08-20 - Erweiterung Variablen für Bestätigungsmail

            $smarty->assign('COMMENTS', $order->info['comments']);
            $smarty->assign('EMAIL', $order->customer['email_address']);
            $smarty->assign('PHONE',$order->customer['telephone']);

            //BOF  - web28 - 2010-03-27 PayPal Bezahl-Link
            unset ($_SESSION['paypal_link']);
        if ($order->info['payment_method'] == 'paypal_ipn') {

                    //BOF - web28 - 2010-06-11 - Send Order  by Admin Paypal IPN
                if(isset($send_by_admin)) { //DokuMan - 2010-09-18 - Undefined variable: send_by_admin
                            require (DIR_FS_CATALOG_MODULES.'payment/paypal_ipn.php');
                            include(DIR_FS_LANGUAGES.$_SESSION['language'].'/modules/payment/paypal_ipn.php');
                            $payment_modules = new paypal_ipn;
                    }
                    //EOF - web28 - 2010-06-11 - Send Order  by Admin Paypal IPN

                $order_id= $insert_id;
                    $paypal_link = array();
            $payment_modules->create_paypal_link();

                    $smarty->assign('PAYMENT_INFO_HTML', $paypal_link['html']);
                    $smarty->assign('PAYMENT_INFO_TXT',  MODULE_PAYMENT_PAYPAL_IPN_TXT_EMAIL . $paypal_link['text']);
            $_SESSION['paypal_link']= $paypal_link['checkout'];

        }
            //EOF  - web28 - 2010-03-27 PayPal Bezahl-Link

            // PAYMENT MODUL TEXTS
            // EU Bank Transfer
            if ($order->info['payment_method'] == 'eustandardtransfer') {
                    $smarty->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_EUTRANSFER_TEXT_DESCRIPTION);
                    $smarty->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_EUTRANSFER_TEXT_DESCRIPTION));
            }

            // MONEYORDER
            if ($order->info['payment_method'] == 'moneyorder') {
                    $smarty->assign('PAYMENT_INFO_HTML', MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION);
                    $smarty->assign('PAYMENT_INFO_TXT', str_replace("<br />", "\n", MODULE_PAYMENT_MONEYORDER_TEXT_DESCRIPTION));
            }

            // dont allow cache
            $smarty->caching = 0;

            $html_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/order_mail.html');
            $txt_mail = $smarty->fetch(CURRENT_TEMPLATE.'/mail/'.$_SESSION['language'].'/order_mail.txt');

            // create subject
            $order_subject = str_replace('{$nr}', $insert_id, EMAIL_BILLING_SUBJECT_ORDER);
            $order_subject = str_replace('{$date}', strftime(DATE_FORMAT_LONG), $order_subject);
            $order_subject = str_replace('{$lastname}', $order->customer['lastname'], $order_subject);
            $order_subject = str_replace('{$firstname}', $order->customer['firstname'], $order_subject);

            // send mail to admin
      //BOF Dokuman - 2009-08-19 - BUGFIX: #0000227 customers surname in reply address in orders mail to admin
      //xtc_php_mail(EMAIL_BILLING_ADDRESS, EMAIL_BILLING_NAME, EMAIL_BILLING_ADDRESS, STORE_NAME, EMAIL_BILLING_FORWARDING_STRING, $order->customer['email_address'], $order->customer['firstname'], '', '', $order_subject, $html_mail, $txt_mail);
            xtc_php_mail(EMAIL_BILLING_ADDRESS,
                                     EMAIL_BILLING_NAME,
                                     EMAIL_BILLING_ADDRESS,
                                     STORE_NAME,
                                     EMAIL_BILLING_FORWARDING_STRING,
                                     $order->customer['email_address'],
                                     $order->customer['firstname'].' '.$order->customer['lastname'], '', '',
                                     $order_subject,
                                     $html_mail,
                                     $txt_mail);
      //EOF Dokuman - 2009-08-19 - BUGFIX: #0000227 customers surname in reply address in orders mail to admin

            // send mail to customer
      //BOF - Dokuman - 2009-10-17 - Send emails to customer only, when set to "true" in admin panel
      //BOF - web28 - 2010-03-20 - Send Order by Admin
      //if (SEND_EMAILS == 'true') {
            if (SEND_EMAILS == 'true' || $send_by_admin) {
      //BOF - web28 - 2010-03-20 - Send Order by Admin
      //EOF - Dokuman - 2009-10-17 - Send emails to customer only, when set to "true" in admin panel
            xtc_php_mail(EMAIL_BILLING_ADDRESS,
                                     EMAIL_BILLING_NAME,
                                     $order->customer['email_address'],
                                     $order->customer['firstname'].' '.$order->customer['lastname'], '',
                                     EMAIL_BILLING_REPLY_ADDRESS,
                                     EMAIL_BILLING_REPLY_ADDRESS_NAME, '', '',
                                     $order_subject,
                                     $html_mail,
                                     $txt_mail);
      //BOF - Dokuman - 2009-10-17 - Send emails to customer only, when set to "true" in admin panel
      }
      //EOF - Dokuman - 2009-10-17 - Send emails to customer only, when set to "true" in admin panel

            if (AFTERBUY_ACTIVATED == 'true') {
                    require_once (DIR_WS_CLASSES.'afterbuy.php');
                    $aBUY = new xtc_afterbuy_functions($insert_id);
                    if ($aBUY->order_send())
                            $aBUY->process_order();
            }
      //BOF - web28 - 2010-03-20 - Send Order by Admin
            if(isset($send_by_admin)) { //DokuMan - 2010-09-18 - Undefined variable: send_by_admin
                $customer_notified = '1';
                    $orders_status_id = '1';

                    xtc_db_query("insert into ".TABLE_ORDERS_STATUS_HISTORY." (orders_id, orders_status_id, date_added, customer_notified, comments) values ('".xtc_db_input($insert_id)."', '".xtc_db_input($orders_status_id)."', now(), '".$customer_notified."', '".COMMENT_SEND_ORDER_BY_ADMIN."')");

                    $messageStack->add_session(SUCCESS_ORDER_SEND, 'success');

                    if (isset($_GET['site']) && $_GET['site'] == 1) { //DokuMan - 2010-09-18 - Undefined variable
                            xtc_redirect(xtc_href_link(FILENAME_ORDERS, 'oID='.$_GET['oID'].'&action=edit'));
                    } else xtc_redirect(xtc_href_link(FILENAME_ORDERS, 'oID='.$_GET['oID']));
            }
      //EOF - web28 - 2010-03-20 - Send Order by Admin

    } else {
            $smarty->assign('ERROR', 'You are not allowed to view this order!');
            $smarty->display(CURRENT_TEMPLATE.'/module/error_message.html');
    }
    ?>

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    packe mal diese 2 Zeilen:

    Code: PHP  [Auswählen]
        //BOF - GTB - 2010-08-02 - XSELL Products Shopping Cart
        include_once(DIR_FS_CATALOG . 'includes/classes/product.php');
        include_once(DIR_FS_CATALOG . 'includes/modules/cross_selling.php');
        //EOF - GTB - 2010-08-02 - XSELL Products Shopping Cart
     

    nach dem hier:

    Code: PHP  [Auswählen]
          //BOF - web28 - 2010-03-20 - Send Order by Admin
                if (isset($send_by_admin)) {//DokuMan - 2010-09-18 - Undefined variable: send_by_admin
                        $xtPrice = new xtcPrice($order->info['currency'], $order->info['status']);
                }
          //EOF - web28 - 2010-03-20 - Send Order by Admin
     

    Gruss Gerhard

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Dann erhalte ich diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Error!

    Unable to determine the page link!

    Function used:

    xtc_href_link('', 'action=buy_now&BUYproducts_id=2&page=1&oID=5&sta=0&stc=1&site=1&', 'NONSSL')

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    damit kann ich jetzt leider nichts mehr anfangen.

    hast du auch alle anderen Änderungen in der Datei rückgängig gemacht ?

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Ich mache es noch mal neu und nehme dann nur die Änderung von dir mit auf in der send_order.php.

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Hallo Gerhard,

    jetzt erhalte ich beim Senden der Auftragsbestätigung diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Fatal error: Cannot redeclare xtc_get_cross_sell_name() (previously declared in E:\xampplite\htdocs\modified eCommerce Shopsoftware-1.05\admin\includes\functions\general.php:632) in E:\xampplite\htdocs\modified eCommerce Shopsoftware-1.05\inc\get_cross_sell_name.inc.php on line 22

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    hast du das hier gemacht ?

    [...]
    Hier mein Lösungsansatz:

    /includes/classes/product.php

    diese Zeilen:

    Code: PHP  [Auswählen]
            function getCrossSells( $cart = false ) {
                    require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');

    damit ersetzen:

    Code: PHP  [Auswählen]
            function getCrossSells( $cart = false ) {
                    if (!function_exists('xtc_get_cross_sell_name')) {
                            require_once (DIR_FS_INC.'get_cross_sell_name.inc.php');
                    }      

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Hallo Gerhard,

    die Änderung in der product hatte ich nicht gemacht. Als ich diese eben nachträglich hinzugefügt habe, bekomme ich wieder diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Error!

    Unable to determine the page link!

    Function used:

    xtc_href_link('', 'action=buy_now&BUYproducts_id=2&page=1&oID=4&sta=0&stc=1&site=1&', 'NONSSL')

    Oben in der Adresszeile steht das:

    Zitat
    .../modified eCommerce Shopsoftware-1.05/admin/orders.php?page=1&oID=4&action=send&sta=0&stc=1&site=1

    Hast du denn dein Modul in der Shopversion mit SP1 lauffähig?

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.307
    • Geschlecht:
    in SP1 funktioniert es wie gewohnt. Allerdings gibt es dort die neue Funktion, dass man aus dem Admin heraus die Bestellbestätigung erneut vershcicken kann.

    Das habe ich noch nicht nachgestellt.

    Ich werde das mal machen, aber ich sag es gleich: es kann dauern.

    Gruss Gerhard
    12 Antworten
    2322 Aufrufe
    20. August 2020, 14:57:44 von lcase
    2 Antworten
    897 Aufrufe
    10. November 2021, 10:10:38 von lullifatz
    9 Antworten
    5310 Aufrufe
    24. Juli 2015, 15:39:58 von woodi24de
    58 Antworten
    23662 Aufrufe
    08. August 2010, 11:43:39 von mroewerd
               
    anything