Zahlungsweise Rechnung in Bestellbestätigung aufnehmen

Thema wurde von gesundheitsgeber, 6. Mai 2014 erstellt.

  1. gesundheitsgeber

    gesundheitsgeber Erfahrener Benutzer

    Registriert seit:
    27. Januar 2014
    Beiträge:
    253
    Danke erhalten:
    4
    Danke vergeben:
    75
    Moin liebe Forum-User.

    Ich habe eine Frage:

    In der Bestellbestätigung gibt es diesen Code:

    Code:
    [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{if $PAYMENT_MODUL=='moneyorder'}
                Unsere Bankverbindung: 
                {php} echo nl2br(MODULE_PAYMENT_MONEYORDER_PAYTO); {/php}
                {else}
                [/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{$PAYMENT_INFO_HTML}[/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]
                {/if}[/SIZE][/FONT]
                {if $COMMENTS}
                [B][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]Ihre Anmerkungen:[/SIZE][/FONT][/B]
                [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{$COMMENTS}[/SIZE][/FONT]
                {/if} 
    Der sorgt dafür, dass im Falle einer Zahlung per Vorkasse die Kontoinformationen automatisch in der Bestellbestätigung mit aufgeführt werden.

    Das gleiche bräuchte ich auch für die Zahlweise Rechnung. Kann mir evtl. jemand helfen, wie der Code dafür aussehen muss?:confused:

    Danke euch vielmals...

    Grüße,
    Petra
     
  2. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Hallo Petra,

    erweitere die IF ..
    Code:
    [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{if $PAYMENT_MODUL=='moneyorder' or [/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]$PAYMENT_MODUL=='invoice'[/SIZE][/FONT]}[/SIZE][/FONT]
    
     
  3. gesundheitsgeber

    gesundheitsgeber Erfahrener Benutzer

    Registriert seit:
    27. Januar 2014
    Beiträge:
    253
    Danke erhalten:
    4
    Danke vergeben:
    75
    Hallo Manfred,

    danke dir für deine schnelle Antwort.Ich habe jetzt das geändert:
    Code:
    [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{if $PAYMENT_MODUL=='moneyorder'[/SIZE][/FONT] [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]or [/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]$PAYMENT_MODUL=='invoice'[/SIZE][/FONT]}[/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]             Unsere Bankverbindung: 
                {php} echo nl2br(MODULE_PAYMENT_MONEYORDER_PAYTO); {/php}
                {else}
                [/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{$PAYMENT_INFO_HTML}[/SIZE][/FONT][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]
                {/if}[/SIZE][/FONT]
                {if $COMMENTS}
                [B][FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]Ihre Anmerkungen:[/SIZE][/FONT][/B]
                [FONT=Verdana, Arial, Helvetica, sans-serif][SIZE=1]{$COMMENTS}[/SIZE][/FONT]
                {/if} 
    
    
    
    
                
    
    und bekomme diesen Fehle wenn ich die Vorschau aufrufe....: Was mach ich falsch :-(

    FATAL ERROR(256): "Smarty error: [in /homepages/17/d461017612/htdocs/naturalkefirdrinks/cache/gm_temp_email.html line 46]: syntax error: unidentified token '=' (Smarty_Compiler.class.php, line 1410)" in /homepages/17/d461017612/htdocs/naturalkefirdrinks/includes/classes/Smarty/Smarty.class.php:1103 (Details)
     
  4. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Hallo,

    Smarty kennt keinen „or“-Operator. So sollte es gehen:

    Code:
    {if $PAYMENT_MODUL=='moneyorder' || $PAYMENT_MODUL=='invoice'}
     
  5. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Sorry Petra - war wieder eine dieser frühmorgentlichen Glanzleistung! :(
     
  6. gesundheitsgeber

    gesundheitsgeber Erfahrener Benutzer

    Registriert seit:
    27. Januar 2014
    Beiträge:
    253
    Danke erhalten:
    4
    Danke vergeben:
    75
    Perfekt!!! Funktioniert.... Danke schön :)

    Super, dass man so schnelle Antworten bekommt - danke euch beiden vielmals...

    @Manfred - kenn ich diese morgentliche Amnesie ;-) kein Problem :)

    Grüße,

    Petra
     
  7. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Mit dem Satz letzte Nacht schweißgebadet aus Alptraum aufgewacht: "Oh Gott - unser Shop kann ja gar nicht funktionieren"!
    <Scherz Off>
    Wieso geht Smarty´s "or" in unserer 2.0.9 an gefühlten 4567 Stellen? <Grübel On>
     
  8. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Ich stelle fest, ich habe mich geirrt. Sorry. :)

    Tatsächlich unterstützt Smarty alle Operatoren, die PHP selbst auch hat. Dennoch würde ich an solchen Stellen die Finger von „or“ lassen, denn „or“ ist kein Synonym für „||“. Die unterscheiden sich subtil, vgl. http://de2.php.net/manual/en/language.operators.logical.php und http://de2.php.net/manual/en/language.operators.precedence.php

    Beispiel:

    PHP:
    function do_something()
    {
      
    // ...
      
    if($error_occurred)
      {
        return 
    false;
      }
      else
      {
        return 
    true;
      }
    }

    function 
    log_message($p_message)
    {
      
    file_put_contents('logfile.txt'$p_messageFILE_APPEND);
      return 
    true;
    }


    $result_1 do_something() || log_message('error');
    $result_2 do_something() or log_message('error');
    Hier wird $result_1 immer den Wert true bekommen durch die stärkere Bindung des ||-Operators. Da steht im Prinzip

    PHP:
    $result_1 = (true || true);
    bzw.
    $result_1 = (false || true);
    denn log_message() liefert immer true, womit der Rückgabewert von do_something() egal ist.

    $result_2 hingegen wird immer nur den Rückgabewert von do_something() erhalten, weil alles links vom „or“-Operator wegen dessen geringer Priorität zuerst ausgewertet wird. Damit wird also auch log_message() in diesem Fall nur dann aufgerufen, wenn der Teil links von „or“ false ist.
     
  9. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Och datt kann man in der Becks-Währung ganz bequem wieder i.O. bringen! :)

    Deine Ausführungen sind schon sehr interessant - echt! Danke.
     
  10. Sonic

    Sonic Aktives Mitglied

    Registriert seit:
    14. Juni 2011
    Beiträge:
    43
    Danke erhalten:
    0
    Danke vergeben:
    3
    Hallo zusammen,
    wofür ist die Variabel im ELSE der Abfrage?
    Was zeigt die? Und woher kommt das? :)

    $PAYMENT_INFO_HTML

    LG
    Sebastian