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: Variable $order_total in checkout_payment

    Firsttrade

    • Neu im Forum
    • Beiträge: 34
    Variable $order_total in checkout_payment
    am: 18. November 2010, 15:42:35
    Hallöchen,
    gibt es eine Möglichkeit den Warenkorbwert und die anfallenden Versandkosten (ohne Zuschläge) als Variable in der Datei checkout_payment.php zur Verfügung zu haben? Ich nehme fast an das es die Variable $order_total ist aber auf die kann ich mit dieser Datei momentan nicht zugreifen.
    Bin für jede Idee dankbar!

    Grüße aus DD
    Volkmar



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

    nicson

    • Fördermitglied
    • Beiträge: 132
    Variable $order_total in checkout_payment
    Antwort #1 am: 19. November 2010, 00:49:17
    In die checkout_payment.php

    vor

    Code: PHP  [Auswählen]
    $smarty->assign('language', $_SESSION['language']);
    das einfügen

    Code: PHP  [Auswählen]
    $smarty->assign('Gesamtpreis', number_format($order->info['total'],2,'.',''));
    Dann steht dir im Template die {$Gesamtpreis} zur Verfügung.

    Hoffe geholfen zu haben. :)

    Firsttrade

    • Neu im Forum
    • Beiträge: 34
    Variable $order_total in checkout_payment
    Antwort #2 am: 23. November 2010, 11:48:58
    Hallo nicson,
    vielen Dank für Deine Antwort.
    Allerdings ist mir gerade aufgefallen das ich einen Fehler gemacht habe  :doh: . Ich benötige die Variable $order_total nicht in der checkout_payment.php sondern in der Datei includes/modules/payment/paypal.php
    Hat jemand da eine Idee wie ich den Gesamtbestellwert als Variable in dieser Datei zur Verfügung bekomme. Hintergrund ist, dass ich für PayPal einen Zahlartzuschlag erhebe und diesen als xx.xx € bei der Auswahl der Zahlungsart angeben möchte. Momentan steht da + 1,7 % ...

    Ein anderer Ansatz wäre vielleicht die bereits bestehende Berechnung aus meiner includes/modules/order_total/ot_paypal_fee.php zu holen aber da weiß ich absolut nicht wie ich das anstellen soll  :gotta-go:

    Grüße aus Dresden
    Volkmar

    nicson

    • Fördermitglied
    • Beiträge: 132
    Variable $order_total in checkout_payment
    Antwort #3 am: 26. November 2010, 21:55:29
    Also ich müsste mich irren aber die Variable ist dort doch schon verfügbar, du musst diese eben nur noch am Smarty übergeben.
    Hab's jetzt nicht ausprobiert aber du hast immer die $order->info['total'] im php verfügbar, wenn du daraus nun 1,7 % haben willst dann machst du das auch in der checkout_payment.php

    Code: PHP  [Auswählen]
    $mycalc = $order->info['total'];
    $addPaypal = $mycalc * 0.17;
    $smarty->assign('Paypalzuschlag', number_format($addPaypal,2,'.',''));
     
    Danach hast du deinen Aufschlag als {$Paypalzuschlag} verfügbar, dann baust du dir ne kleine smarty if in checkout_payment_block.html und das sollte passen...

    Code: PHP  [Auswählen]
    {if $module_data.module = paypal}
    {$Paypalzuschlag}
    {/if}
    Probier's mal aus aber so sollte es eigentlich gehen.

    Igotcha

    • Mitglied
    • Beiträge: 195
    Variable $order_total in checkout_payment
    Antwort #4 am: 01. Dezember 2010, 12:14:16
    Ich suche eine Möglichkeit, den Bestellwert in der checkout_success.php abzufragen, um in Piwik tatsächliche Käufe als Ziele zu tracken.

    Den Code

    Code: PHP  [Auswählen]
    $order->info['total']
     
    gibt es da aber nicht.

    franky_n

    • Experte
    • Beiträge: 4.950
    Variable $order_total in checkout_payment
    Antwort #5 am: 01. Dezember 2010, 12:19:17
    Hallo Igotcha,

    schau mal in die checkout_process.php Z.291ff. ($total_cost)

    Dort ist übrigens auch das andere Tracking eingebaut... :)

    Viele Grüße

    Franky

    Igotcha

    • Mitglied
    • Beiträge: 195
    Variable $order_total in checkout_payment
    Antwort #6 am: 01. Dezember 2010, 12:36:07
    Hallo franky_n,

    aber ist der Bestellprozess in der checkout_process.php dann tatsächlich abgeschlossen?

    Außerdem funktioniert das nicht so richtig, ich muss den Piwik-Code einfügen und da ist ein

    Code: PHP  [Auswählen]
    piwikTracker.trackGoal( 2, <?php echo round($total_cost,2);?> );
     
    drin. Bei dem echo bekomme ich ein "Cannot modify header information ...." zurück, da offensichtlich schon die Ausgabe gestartet wurde.

    franky_n

    • Experte
    • Beiträge: 4.950
    Variable $order_total in checkout_payment
    Antwort #7 am: 01. Dezember 2010, 14:09:53
    Hallo Igotcha,

    die checkout_process.php schreibt alles in die DB und schickt die Email und leitet dann einfach auf die checkout_success.php um dort anzuzeigen das alles erledigt ist.

    Ob Du nun die checkout_process.php oder die checkout_success.php nimmst ist dann in dem Fall egal denn selbst in der checkout_process ist die Bestellung beendet nachdem er alles in die DB geschrieben hat.

    Der oben angegebene Piwik Code muß innerhalb des Piwik Javascript-Codes, der bereits im Quelltext der Seite eingebunden ist, sein. (Steht zumindest so in der Doku) ;)

    Viele Grüße

    Franky

    Igotcha

    • Mitglied
    • Beiträge: 195
    Variable $order_total in checkout_payment
    Antwort #8 am: 01. Dezember 2010, 14:46:26
    Bei mir ist kein Piwik-Code in der checkout_process.php vorhanden :(

    Benutze Version 1.05

    franky_n

    • Experte
    • Beiträge: 4.950
    Variable $order_total in checkout_payment
    Antwort #9 am: 01. Dezember 2010, 14:52:21
    Hallo Igotcha,

    öhm das liegt ja dran wo Du selber den Piwik Javascript Code einbaust und nicht am Shop! :)

    Viele Grüße

    Franky

    Igotcha

    • Mitglied
    • Beiträge: 195
    Variable $order_total in checkout_payment
    Antwort #10 am: 01. Dezember 2010, 14:59:11
    So und jetzt sind wir wieder ganz am Anfang meiner Frage :D

    Ich habe den gesamten Piwik-Javascript-Code dort eingebunden, hinter 291 ff wo die Variable $total_cost steht:

    Code: PHP  [Auswählen]
            $total_cost += $total_products_price;
    }
    ?>
    <!-- Piwik -->
    <script type="text/javascript">
    var pkBaseURL = (("https:" == document.location.protocol) ? "https://xxxx.de/piwik/" : "http://xxxx.de/piwik/");
    document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
    </script><script type="text/javascript">
    try {
    var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
    //piwikTracker.trackPageView();
    //piwikTracker.enableLinkTracking();
    piwikTracker.trackGoal( 2, <?php echo round($total_cost,2);?> );
    } catch( err ) {}
    </script><noscript><p><img src="http://xxx.de/piwik/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>
    <!-- End Piwik Tag -->
     
    Und da bekomme ich einen "Cannot modify header information"-Fehler für genau diese Zeile angezeigt:

    Code: PHP  [Auswählen]
    piwikTracker.trackGoal( 2, <?php echo round($total_cost,2);?> );
    Und wie ich schon sagte, wird das wahrscheinlich deshalb sein, weil die Seite zu diesem Zeitpunkt schon aufgebaut wird und durch das "echo" etwas geschrieben wird.

    franky_n

    • Experte
    • Beiträge: 4.950
    Variable $order_total in checkout_payment
    Antwort #11 am: 01. Dezember 2010, 15:10:05
    Hallo Igotcha,

    tjo woran wir wieder sehen:
    Ich sitze nicht vor Deinem PC und bin auf Deine Beschreibung angewiesen! :D

    Probier das mal ohne das "echo" ansonsten müsste man das ganz anders machen. :)

    Viele Grüße

    Franky

    franky_n

    • Experte
    • Beiträge: 4.950
    Variable $order_total in checkout_payment
    Antwort #12 am: 01. Dezember 2010, 15:20:57
    Hallo Igotcha,

    hier mal der 2te Bildungs... äh Lösungsweg. :D

    In der checkout_process.php hinter dem:

    Code: PHP  [Auswählen]
        $total_cost += $total_products_price;
    }
    das angeben:

    Code: PHP  [Auswählen]
    $_SESSION['customer_total_cost'] = round($total_cost,2);
    Dann in der checkout_success.php in Z.117 nach dem:

    Code: PHP  [Auswählen]
    if (DOWNLOAD_ENABLED == 'true') {
            include (DIR_WS_MODULES.'downloads.php');
    }
    das angeben:

    Code: PHP  [Auswählen]
    $smarty->assign('piwik_customer_total_cost', $_SESSION['customer_total_cost']);
    Und dann in dem Template /templates/xtc5/module/checkout_success.html den Piwik Code einbinden und für das "echo...." den Platzhalter {$piwik_customer_total_cost} angeben.

    Viele Grüße

    Franky

    Igotcha

    • Mitglied
    • Beiträge: 195
    Variable $order_total in checkout_payment
    Antwort #13 am: 01. Dezember 2010, 15:48:35
    Mit dem Template wird wahrscheinlich die Lösung sein, man muss die Variable in das Template exportieren. Probiere ich nacher mal aus. vielen Dank!

    Ohne "echo" geht es in der process_checkout gar nicht, da ja dadurch der Wert in den Javascript-Bereich eingetragen worden wäre - nur mit der reinen Variablen hätte man an der Stelle nicht arbeiten können.

    Shop Hosting
    0 Antworten
    1616 Aufrufe
    22. Oktober 2015, 17:27:10 von chaploo
    6 Antworten
    3571 Aufrufe
    02. Juni 2010, 11:06:43 von Tomcraft
    1 Antworten
    1898 Aufrufe
    24. Oktober 2013, 15:03:29 von CojaX