Fehlermeldung bei Bestellung

Hallo Leute, nach Klick auf „Bestellen“ erhalte ich folgende Fehlermeldung: [code]Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Syntax Error in template „string:“ on line 48 " {if additional.payment.name == \"debit\"} " - Unexpected "\", expected one of: "{" , "" , „identifier“ , LDELIF , LDELFOR , LDELFOREACH , „closing tag“ , INTEGER , „+“ , „-“ , „(“ , „(!,not)“ , TYPECAST , HEX , „.“ , SINGLEQUOTESTRING , „#“ , „[“ , „“" in Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 404 Stack trace: #0 Vendor/Smarty/libs/sysplugins/smarty_internal_templateparser.php(2699): Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 Vendor/Smarty/libs/sysplugins/smarty_internal_templateparser.php(2764): Smarty_Internal_Templateparser->yy_syntax_error(10, ‚‘) #2 Vendor/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php(51): Smarty_Internal_Templateparser->doParse(10, ‚‘) #3 Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php(83): Smarty_Internal_SmartyTemplateCompiler->doCompile(’

compileTemplate(Object(Enlight_Template_Template)) #5 Vendor/Smarty/libs/sysplugins/smarty_internal_template.php(426): Smarty_Internal_Template->compileTemplateSource() #6 Enlight/Template/Template.php(46): Smarty_Internal_Template->renderTemplate() #7 Vendor/Smarty/libs/sysplugins/smarty_internal_template.php(568): Enlight_Template_Template->renderTemplate() #8 Vendor/Smarty/libs/Smarty.class.php(328): Smarty_Internal_Template->getRenderedTemplate() #9 engine/core/class/sOrder.php(915): Smarty->fetch('string:
sendMail(Array) #11 Shopware/Controllers/Frontend/Checkout.php(400): sOrder->sSaveOrder() #12 Shopware/Controllers/Frontend/Checkout.php(126): Shopware_Controllers_Frontend_Checkout->saveOrder() #13 Enlight/Controller/Action.php(55): Shopware_Controllers_Frontend_Checkout->finishAction() #14 Enlight/Controller/Dispatcher/DispatcherDefault.php(329): Enlight_Controller_Action->dispatch(‚finishAction‘) #15 Enlight/Controller/Front.php(88): Enlight_Controller_Dispatcher_DispatcherDefault->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #16 Shopware/Bootstrap.php(21): Enlight_Controller_Front->dispatch() #17 Enlight/Application.php(69): Shopware_Bootstrap->run() #18 shopware.php(6): Enlight_Application->run() #19 {main} [/code] Syntax-Fehler, irgendwas und irgendwo - wer kann helfen? Danke!

Hi, da scheinen deine Systemvoraussetzungen nicht zu stimmen. Stichwort: Magic_quotes Das muss unbedingt deaktiviert werden. Das scheint aktiv (on) zu sein. Erkennen kann man das an den Backslashes vor den Anführungszeichen. Jedes mal wenn du jetzt die eMail Vorlage speicherst kommen mehr Backslashes rein und diese bereiten dann an allen möglichen Stellen Probleme. Daher am besten direkt die Einstellung deaktivieren und im Anschluss die eMail-Vorlagen überprüfen und alle Backslashes entfernen. Dan Konfigurationscache leeren und die eMails sollten direkt wieder korrekt verschickt werden können. Sebastian

Ist das eine Sache der Systemeinstellungen im Backend, oder eine Sache des Servers, dann muss ich hier den Provider informieren… Danke!

Hi, das ist Sache des Servers, nicht von Shopware. Wenn du solche Konfigurationen nicht selber am Server durchführen kannst, melde dich einfach bei deinem Hoster. Der kann das schnell anpassen. Sebastian

Dankeschön!

Ich habe Info vom Provider erhalten, er sagt: Placed in the store’s document root, a file php.ini Code: magic_quotes_gpc = Off and then the following lines added to .htaccess Code:
Deny from all
Kann man dem trauen?!

Ja, das sollte wie beschrieben klappen. php.ini anlegen und die htaccess von Shopware erweitern. Dann kannst du das in der Systeminfo von Shopware direkt gegenprüfen, ob magic_quotes deaktiviert wurde. PS: Eine solche Änderung kannst du auch schnell wieder rückgängig machen :wink:

The PDO extension is required for this adapter but the extension is not loaded in Vendor/Zend/library/Zend/Db/Adapter/Pdo/Abstract.php on line 103 Stack trace: #0 Vendor/Zend/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend\_Db\_Adapter\_Pdo\_Abstract-\>\_connect() #1 Vendor/Zend/library/Zend/Db/Adapter/Abstract.php(304): Zend\_Db\_Adapter\_Pdo\_Mysql-\>\_connect() #2 Shopware/Bootstrap.php(48): Zend\_Db\_Adapter\_Abstract-\>getConnection() #3 [internal function]: Shopware\_Bootstrap-\>initDb() #4 Enlight/Bootstrap.php(99): call\_user\_func(Array) #5 Shopware/Bootstrap.php(12): Enlight\_Bootstrap-\>loadResource('Db') #6 Enlight/Application.php(69): Shopware\_Bootstrap-\>run() #7 shopware.php(6): Enlight\_Application-\>run() #8 {main} Die Sache hat einen Haken! :slight_smile: Was ist da los?

Kommst die Meldung nur, wenn du eine eigene php.ini anlegst? Eventuell wird dann eine zweite PHP-Instanz geladen, die eine vollwertige php.ini erwartet? Am besten fragst du da kurz den Provider, normalerweise trägt man in der “eigenen” php.ini nur das Delta der Optionen ein, die man modifizieren möchte!

Trotz deaktivierter Magig_quotes immer noch Fehler Meldung. Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Syntax Error in template “string:” on line 76 " " unclosed {if} tag in Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 404 Stack trace: #0 Vendor/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php(64): Smarty_Internal_TemplateCompilerBase->trigger_template_error(‘unclosed {if} t…’) #1 Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php(83): Smarty_Internal_SmartyTemplateCompiler->doCompile(‘Hallo {billing...') #2 Vendor/Smarty/libs/sysplugins/smarty\_internal\_template.php(271): Smarty\_Internal\_TemplateCompilerBase-\>compileTemplate(Object(Enlight\_Template\_Template)) #3 Vendor/Smarty/libs/sysplugins/smarty\_internal\_template.php(426): Smarty\_Internal\_Template-\>compileTemplateSource() #4 Enlight/Template/Template.php(46): Smarty\_Internal\_Template-\>renderTemplate() #5 Vendor/Smarty/libs/sysplugins/smarty\_internal\_template.php(568): Enlight\_Template\_Template-\>renderTemplate() #6 Vendor/Smarty/libs/Smarty.class.php(328): Smarty\_Internal\_Template-\>getRenderedTemplate() #7 engine/core/class/sOrder.php(919): Smarty-\>fetch('string:Hallo {…’) #8 engine/core/class/sOrder.php(813): sOrder->sendMail(Array) #9 Shopware/Controllers/Frontend/Checkout.php(400): sOrder->sSaveOrder() #10 Shopware/Controllers/Frontend/Checkout.php(126): Shopware_Controllers_Frontend_Checkout->saveOrder() #11 Enlight/Controller/Action.php(55): Shopware_Controllers_Frontend_Checkout->finishAction() #12 Enlight/Controller/Dispatcher/DispatcherDefault.php(329): Enlight_Controller_Action->dispatch(‘finishAction’) #13 Enlight/Controller/Front.php(88): Enlight_Controller_Dispatcher_DispatcherDefault->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #14 Shopware/Bootstrap.php(21): Enlight_Controller_Front->dispatch() #15 Enlight/Application.php(69): Shopware_Bootstrap->run() #16 shopware.php(6): Enlight_Application->run() #17 {main} Liegt das vieleicht am Template??? Ich bitte um Hilfe. Kunden können nicht bestellen. Danke im Voraus Charls

Dann ist dein Template für die Bestellabschluss-eMail wahrscheinlich defekt - also scheinbar fehlt da ein abschließendes if-tag. Am besten kopierst du dort zunächst einmal das Original-Template wieder in die Datenbank! Für die Plaintext-Variante: Hallo {$billingaddress.firstname} {$billingaddress.lastname}, vielen Dank fuer Ihre Bestellung im Shopware Demoshop (Nummer: {$sOrderNumber}) am {$sOrderDay} um {$sOrderTime}. Informationen zu Ihrer Bestellung: Pos. Art.Nr. Menge Preis Summe {foreach item=details key=position from=$sOrderDetails} {$position+1|fill:4} {$details.ordernumber|fill:20} {$details.quantity|fill:6} {$details.price|padding:8} EUR {$details.amount|padding:8} EUR {$details.articlename|wordwrap:49|indent:5} {/foreach} Versandkosten: {$sShippingCosts} Gesamtkosten Netto: {$sAmountNet} {if !$sNet} Gesamtkosten Brutto: {$sAmount} {/if} Gewählte Zahlungsart: {$additional.payment.description} {$additional.payment.additionaldescription} {if $additional.payment.name == "debit"} Ihre Bankverbindung: Kontonr: {$sPaymentTable.account} BLZ:{$sPaymentTable.bankcode} Wir ziehen den Betrag in den nächsten Tagen von Ihrem Konto ein. {/if} {if $additional.payment.name == "prepayment"} Unsere Bankverbindung: Konto: ### BLZ: ### {/if} {if $sComment} Ihr Kommentar: {$sComment} {/if} Rechnungsadresse: {$billingaddress.company} {$billingaddress.firstname} {$billingaddress.lastname} {$billingaddress.street} {$billingaddress.streetnumber} {$billingaddress.zipcode} {$billingaddress.city} {$billingaddress.phone} {$additional.country.countryname} Lieferadresse: {$shippingaddress.company} {$shippingaddress.firstname} {$shippingaddress.lastname} {$shippingaddress.street} {$shippingaddress.streetnumber} {$shippingaddress.zipcode} {$shippingaddress.city} {$additional.country.countryname} {if $billingaddress.ustid} Ihre Umsatzsteuer-ID: {$billingaddress.ustid} Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit. {/if} Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung. Sie erreichen uns wie folgt: Wir wünschen Ihnen noch einen schönen Tag. Hier Ihre Kontaktdaten eingeben Für HTML: [code]

Hallo {$billingaddress.firstname} {$billingaddress.lastname},

vielen Dank fuer Ihre Bestellung bei {$sConfig.sSHOPNAME} (Nummer: {$sOrderNumber}) am {$sOrderDay} um {$sOrderTime}.

Informationen zu Ihrer Bestellung:

| Artikel | Pos. | Art-Nr. | Menge | Preis | Summe |
{foreach item=details key=position from=$sOrderDetails} | {if $details.image.src.1} {$details.articlename}{else} {/if} | {$position+1|fill:4} | {$details.ordernumber|fill:20} | {$details.quantity|fill:6} | {$details.price|padding:8}{$sCurrency} | {$details.amount|padding:8} {$sCurrency} |
| {$details.articlename|wordwrap:80|indent:4} |
{/foreach}

Versandkosten: {$sShippingCosts}
Gesamtkosten Netto: {$sAmountNet}
{if !$sNet} Gesamtkosten Brutto: {$sAmount}
{/if}

Gewählte Zahlungsart: {$additional.payment.description}
{$additional.payment.additionaldescription} {if $additional.payment.name == “debit”} Ihre Bankverbindung:
Kontonr: {$sPaymentTable.account}
BLZ:{$sPaymentTable.bankcode}
Wir ziehen den Betrag in den nächsten Tagen von Ihrem Konto ein.
{/if}

{if $additional.payment.name == “prepayment”} Unsere Bankverbindung:
Konto: ###
BLZ: ###
{/if}

Gewählte Versandart: {$sDispatch.name}
{$sDispatch.description}

{if $sComment} Ihr Kommentar:
{$sComment}
{/if}

Rechnungsadresse:
{$billingaddress.company}
{$billingaddress.firstname} {$billingaddress.lastname}
{$billingaddress.street} {$billingaddress.streetnumber}
{$billingaddress.zipcode} {$billingaddress.city}
{$billingaddress.phone}
{$additional.country.countryname}

Lieferadresse:
{$shippingaddress.company}
{$shippingaddress.firstname} {$shippingaddress.lastname}
{$shippingaddress.street} {$shippingaddress.streetnumber}
{$shippingaddress.zipcode} {$shippingaddress.city}
{$additional.countryShipping.countryname}

{if $billingaddress.ustid} Ihre Umsatzsteuer-ID: {$billingaddress.ustid}
Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland
bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit.
{/if}

Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung. Sie erreichen uns wie folgt:

Mit freundlichen Grüßen,
Ihr Team von {$sConfig.sSHOPNAME}

[/code]

1 Like

Ok das versuch ich gleich mal. Vielen Dank erst mal. Ich schreib zurück sobald ich weiß ob es geht oder nicht.

Also vielen vielen Dank. Das Problem ist weg :slight_smile:

Ich stehe genau vor dem gleichen Problem. Die eigene ini Datei verursacht den Fehler. In dieser steht nur dieser kurze Befehl. Nehme ich diese Datei wieder vom Server runter, ist der Fehler verschwunden und der Shop wird wieder angezeigt - Bestellen ohne Fehler geht aber nicht. Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. The PDO extension is required for this adapter but the extension is not loaded in Vendor/Zend/library/Zend/Db/Adapter/Pdo/Abstract.php on line 103 Stack trace: #0 Vendor/Zend/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend\_Db\_Adapter\_Pdo\_Abstract-\>\_connect() #1 Vendor/Zend/library/Zend/Db/Adapter/Abstract.php(304): Zend\_Db\_Adapter\_Pdo\_Mysql-\>\_connect() #2 Shopware/Bootstrap.php(48): Zend\_Db\_Adapter\_Abstract-\>getConnection() #3 [internal function]: Shopware\_Bootstrap-\>initDb() #4 Enlight/Bootstrap.php(99): call\_user\_func(Array) #5 Shopware/Bootstrap.php(12): Enlight\_Bootstrap-\>loadResource('Db') #6 Enlight/Application.php(69): Shopware\_Bootstrap-\>run() #7 shopware.php(6): Enlight\_Application-\>run() #8 {main} Die E-Mail Vorlage für “Ihre Bestellung im Demoshop” habe ich wie oben zurück gesetzt.

Antwort vom Support (Anbieter) [quote]Sorry, aber wir können auch keinen Support für fremde Scripte liefern… Die Fehlermeldung besagt wohl das PDO nicht verfügbar ist. Dies ist aber auf dem Server vorhanden. [/quote]

Hallo, der Fehler erscheint nur, wenn du die eigene php.ini einbaust? Dann ist das definitiv ein Provider-Problem - normalerweise fügst du in die eigene php.ini ja nur das Delta zur Original-Datei ein, um eben die Anweisungen zu modifizieren, die du verändern möchtest - wahrscheinlich benötigt dein Provider hier eine vollständige php-ini - also du könntest ihm ja schreiben, dass mit eigener php.ini PDO NICHT zur Verfügung steht und Ohne php.ini schon - das hat ja nun nichts mit dem “Script” zu tun …

Jetzt habe ich eine vollständige php.ini erhalten und diese auf den Server geladen. Jetzt wird wird Shop ohne Fehler angezeigt - das Problem nach Klick auf Bestellen bleibt aber weiterhin bestehen: [code]Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Syntax Error in template „string:“ on line 48 " {if additional.payment.name == \"debit\"} " - Unexpected "\", expected one of: "{" , "" , „identifier“ , LDELIF , LDELFOR , LDELFOREACH , „closing tag“ , INTEGER , „+“ , „-“ , „(“ , „(!,not)“ , TYPECAST , HEX , „.“ , SINGLEQUOTESTRING , „#“ , „[“ , „“" in Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 404 Stack trace: #0 Vendor/Smarty/libs/sysplugins/smarty_internal_templateparser.php(2699): Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 Vendor/Smarty/libs/sysplugins/smarty_internal_templateparser.php(2764): Smarty_Internal_Templateparser->yy_syntax_error(10, ‚‘) #2 Vendor/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php(51): Smarty_Internal_Templateparser->doParse(10, ‚‘) #3 Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php(83): Smarty_Internal_SmartyTemplateCompiler->doCompile(’

compileTemplate(Object(Enlight_Template_Template)) #5 Vendor/Smarty/libs/sysplugins/smarty_internal_template.php(426): Smarty_Internal_Template->compileTemplateSource() #6 Enlight/Template/Template.php(46): Smarty_Internal_Template->renderTemplate() #7 Vendor/Smarty/libs/sysplugins/smarty_internal_template.php(568): Enlight_Template_Template->renderTemplate() #8 Vendor/Smarty/libs/Smarty.class.php(328): Smarty_Internal_Template->getRenderedTemplate() #9 engine/core/class/sOrder.php(915): Smarty->fetch('string:
sendMail(Array) #11 Shopware/Controllers/Frontend/Checkout.php(400): sOrder->sSaveOrder() #12 Shopware/Controllers/Frontend/Checkout.php(126): Shopware_Controllers_Frontend_Checkout->saveOrder() #13 Enlight/Controller/Action.php(55): Shopware_Controllers_Frontend_Checkout->finishAction() #14 Enlight/Controller/Dispatcher/DispatcherDefault.php(329): Enlight_Controller_Action->dispatch(‚finishAction‘) #15 Enlight/Controller/Front.php(88): Enlight_Controller_Dispatcher_DispatcherDefault->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #16 Shopware/Bootstrap.php(21): Enlight_Controller_Front->dispatch() #17 Enlight/Application.php(69): Shopware_Bootstrap->run() #18 shopware.php(6): Enlight_Application->run() #19 {main} [/code] verdammt…!

Hi, hast du deine Vorlagen (eMail-Vorlagen) denn aktualisiert? Das ist ja jetzt das Ausgangsproblem. Also deine eMail-Vorlagen sind fehlerhaft gespeichert (Ist zu 99,9% magic_quotes). Wenn bei dir alle Systemvoraussetzungen passen, kopiere die mal die beiden Vorlagen von Stefan rein. Dann Konfigurations-Cache leeren. Danach sollte direkt eine korrekte Bestellung möglich sein. Sebastian PS: Wenn du die neue Vorlage ins Backend kopierst und speicherst (Plaintext und HTML!) dann suche darin einmal nach „debit“. Das darf da nicht so drin stehen „debit“ Es dürfen keinerlei Backslashes im HTML-Code bzw. in der Plaintext-Vorlage enthalten sein. Dann ist die Einstellung magic_quotes noch aktiviert

Hallo! Besten Dank - Besserung gibt es immer noch nicht. Jetzt ist aber das Problem klar. Nach jedem speichern setzt er mir die Backslashs rein. Das sieht im HTML-Teil, in der Mail-Vorlage sOrder so aus: [code]

"Logo"

Hallo {$billingaddress.firstname} {$billingaddress.lastname},

vielen Dank fuer Ihre Bestellung bei {$sConfig.sSHOPNAME} (Nummer: {$sOrderNumber}) am {$sOrderDay} um {$sOrderTime}.

Informationen zu Ihrer Bestellung:

| Artikel | Pos. | Art-Nr. | Menge | Preis | Summe |
{foreach item=details key=position from=$sOrderDetails} | {if $details.image.src.1} "{$details.articlename}"{else} {/if} | {$position+1|fill:4} | {$details.ordernumber|fill:20} | {$details.quantity|fill:6} | {$details.price|padding:8}{$sCurrency} | {$details.amount|padding:8} {$sCurrency} |
| {$details.articlename|wordwrap:80|indent:4} |
{/foreach}

Versandkosten: {$sShippingCosts}
Gesamtkosten Netto: {$sAmountNet}
{if !$sNet} Gesamtkosten Brutto: {$sAmount}
{/if}

Gewählte Zahlungsart: {$additional.payment.description}
{$additional.payment.additionaldescription} {if $additional.payment.name == “debit”} Ihre Bankverbindung:
Kontonr: {$sPaymentTable.account}
BLZ:{$sPaymentTable.bankcode}
Wir ziehen den Betrag in den nächsten Tagen von Ihrem Konto ein.
{/if}

{if $additional.payment.name == “prepayment”} Unsere Bankverbindung:
Konto: ###
BLZ: ###
{/if}

Gewählte Versandart: {$sDispatch.name}
{$sDispatch.description}

{if $sComment} Ihr Kommentar:
{$sComment}
{/if}

Rechnungsadresse:
{$billingaddress.company}
{$billingaddress.firstname} {$billingaddress.lastname}
{$billingaddress.street} {$billingaddress.streetnumber}
{$billingaddress.zipcode} {$billingaddress.city}
{$billingaddress.phone}
{$additional.country.countryname}

Lieferadresse:
{$shippingaddress.company}
{$shippingaddress.firstname} {$shippingaddress.lastname}
{$shippingaddress.street} {$shippingaddress.streetnumber}
{$shippingaddress.zipcode} {$shippingaddress.city}
{$additional.countryShipping.countryname}

{if $billingaddress.ustid} Ihre Umsatzsteuer-ID: {$billingaddress.ustid}
Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland
bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit.
{/if}

Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung. Sie erreichen uns wie folgt:

Mit freundlichen Grüßen,
Ihr Team von {$sConfig.sSHOPNAME}

[/code] Nach ein bisschen rumprobieren sieht es so aus (Auszug) ![\\\"Logo\\\"](\\\"http://www.shopwaredemo.de/eMail_logo.jpg\\\") Das heißt, dass magic_qoutes definitiv nicht ausgeschaltet ist, richtig?

Ja genau. Magic_quotes ist ON und muss OFF