Problem bei Bestellung: PARSE ERROR(4): "syntax error, unexpected end of file...

Thema wurde von plattenstar, 7. Oktober 2016 erstellt.

  1. plattenstar

    plattenstar Aktives Mitglied

    Registriert seit:
    28. September 2016
    Beiträge:
    38
    Danke erhalten:
    2
    Hallo,

    in meinem Testshop hab' ich nach dem Update auf 3.1.3.1 folgendes Problem:

    Nach Bestätigung der Bestellung (letzter Schritt: checkout_process.php) erscheint die folgende Meldung:

    PARSE ERROR(4): "syntax error, unexpected end of file, expecting ',' or ';'"Information:

    Moniert wird abei folgendes:

    Code:
    <b>Parse error</b>:  syntax error, unexpected end of file, expecting ',' or ';' in
    <b>/www/htdocs/.../includes/classes/Smarty/SmartyBC.class.php(468) : eval()'d code</b> on line <b>1</b><br />
    Ich hab' mir die entsprechende Datei angeschaut, ich kann da aber keinen Fehler erkennen.

    Hat da jemand einen Vorschlag?

    Ach ja, die Bestellung selber ist im Admin zu sehen, aber der Käufer hat keine E-Mail bekommen
     
  2. Kai Schoelzke

    Kai Schoelzke Beta-Held

    Registriert seit:
    30. März 2016
    Beiträge:
    3.803
    Danke erhalten:
    548
    Danke vergeben:
    248
    Hallo, hast du irgendwo im Template Ordner eine usermod Datei rumliegen, die müsste in etwa so checkout_success-USERMOD.html aussehen?

    Wichtig wäre noch zu wissen, von wo nach wo du die Updates gemacht hast, eventuell müssten auch die E-Mail Vorlagen noch wieder hergestellt werden, und der Vorlagencache geleert werden.
     
  3. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    Bitte setze die Vorlage für die E-Mail-Bestellbestätigung einmal zurück.
     
  4. plattenstar

    plattenstar Aktives Mitglied

    Registriert seit:
    28. September 2016
    Beiträge:
    38
    Danke erhalten:
    2
    vielen Dank für die schnellen Tipps!

    Das Update war ein Sammelupdate von der Version 2.0.15

    Im Template Ordner gibt es einen Unterordner "usermod" aber keine Datei (ich hoffe das ist ein gutes Zeichen)

    Die E-Mail Vorlage für "Bestellbestätigung" war anscheinend tatsächlich das Problem. Eigene (alte) Vorlage gespeichert, das Original aktiviert und es funktioniert.

    Hat diese E-Mail Vorlage eine Art Sonderfunktion? Alle anderen alten E-Mail Vorlagen (Kundenkonto, Passwort etc.) funktionierten auf Anhieb?!
     
  5. Anonymous

    Anonymous Erfahrener Benutzer
    Mitarbeiter

    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.748
    Danke vergeben:
    137
    So weit ich mich gerade entsinne, hing das mit dem Update des Smarty-Template-Systems zusammen; die alte Vorlage verwendete da irgendetwas, das mit der neuen Smarty-Version nicht mehr funktioniert. – Das Update, in dem das auftrat, ist schon etwas länger her, seit 2.0.15 sind ja auch schon gut zwei Jahre vergangen. :)
     
  6. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    @Marco (Gambio) , ich hab grad das selbe Problem... (von 2.0.13 oder so auf 3.1.1.1)
    Sehe aber auf die Schnelle nicht, wo's hakt im Template.
    Würde gerne den smarty-fehler korrigieren, alle meine Änderungen im neuen default-template einbauen wäre wohl mehr Aufwand...
    Gibt es ev. für smarty eine Befehlsliste, einen compatibility-tester, einen debug-mode, oder sonstwas was weiterhelfen würde?
    Oder erinnert sich vielleicht jemand, woran es damals lag?

    Was ich festgestellt habe ist, dass in meinem 3.1.1.1 testshop unter php7 die mailvorlage-Vorschau NUR den obigen Error bringt, mit php5.6 aber den Error UND die scheinbar vollständige Vorschau.
     
  7. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.095
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Das einbauen deiner Anpassungen wird einfacher und schneller sein als die Fehlersuche und Behebung.
    Zu Smarty gibt's ja einiges an Seiten in Google.
     
  8. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Diese Meldung taucht dann auf, wenn es bei der Auflösung eines "{php}php_code{/php}" Fehler im "php_code" gibt.

    Diese PHP-Auflösung in Smarty ist maximal undurchsichtig, man kann das eigentlich nur in einem Debugger abfangen und lokalisieren...
     
  9. Torben Wark

    Torben Wark Gambio GmbH

    Registriert seit:
    15. Juli 2014
    Beiträge:
    2.581
    Danke erhalten:
    1.178
    Danke vergeben:
    399
    Schau mal ob in deinem E-Mail-Template (order_mail.html/order_mail.txt) folgendes noch gibt:

    HTML:
    <span style="font-size:13px;"><span style="font-family: verdana,geneva,sans-serif;">{php}echo nl2br(STORE_NAME_ADDRESS){/php}</span></span>
    und

    HTML:
    {if $PAYMENT_MODUL=='moneyorder'} Unsere Bankverbindung:<br />
                        {php} echo nl2br(MODULE_PAYMENT_MONEYORDER_PAYTO); {/php}
                    {else}
                        {$PAYMENT_INFO_HTML}
                    {/if}
    Wenn ja ersetzt das mal mit dem hier:

    HTML:
    <span style="font-size:13px;"><span style="font-family: verdana,geneva,sans-serif;">{$smarty.const.STORE_NAME_ADDRESS|nl2br}</span></span>
    und
    HTML:
    {if $PAYMENT_MODUL=='moneyorder'} Unsere Bankverbindung:<br />
                        {$smarty.const.MODULE_PAYMENT_MONEYORDER_PAYTO|nl2br}
                    {else}
                        {$PAYMENT_INFO_HTML}
                    {/if}
     
  10. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.117
    Danke erhalten:
    88
    Danke vergeben:
    88
    Danke.
    Es liegt am {php}echo nl2br(STORE_NAME_ADDRESS){/php}
    Habe jetzt aber doch einfach auf das Original gewechselt...
     
  11. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Da fehlt das Semikolon am Ende...