Fehler beim Checkout

Hallo,

wir haben seit einiger Zeit Probleme beim Checkout in unserem Shop, es können keine Bestellungen aufgegeben werden.
Egal, welche Zahlungsart ausgewählt wird, es kommt immer der UPS Fehler.

Der Log zeigt das hier an

core.ERROR: SmartyCompilerException in /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php:657 

Stack trace: #0 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3144): Smarty_Internal_TemplateCompilerBase->trigger_template_error()
#1 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3209): Smarty_Internal_Templateparser->yy_syntax_error(10, '\xC2')
#2 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '\xC2')
#3 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('{if\xC2\xA0$sBasketIt...')
#4 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#5 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#6 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(Object(Enlight_Template_Default), NULL, NULL, NULL, false, false, true)
#7 /home/beamtec/public_html/shop.beamtec.de/var/cache/production_201807181357/templates/frontend_Beamtec_de_DE_1_secure/1d/6e/b9/1d6eb940d7d2a0f0c61d03d19573d18764f3e5cc.snippet.index.tpl.php(3859): Smarty_Internal_Template->getSubTemplate('string:{if\xC2\xA0$sB...', NULL, 'frontend_Beamte...', NULL, NULL, Array, 0)
#8 /home/beamtec/public_html/shop.beamtec.de/var/cache/production_201807181357/templates/frontend_Beamtec_de_DE_1_secure/1d/6e/b9/1d6eb940d7d2a0f0c61d03d19573d18764f3e5cc.snippet.index.tpl.php(3682): content_5b92304abece29_58876080(Object(Enlight_Template_Default))
#9 /home/beamtec/public_html/shop.beamtec.de/var/cache/production_201807181357/templates/frontend_Beamtec_de_DE_1_secure/1d/6e/b9/1d6eb940d7d2a0f0c61d03d19573d18764f3e5cc.snippet.index.tpl.php(1777): content_5b92304abe1037_79619251(Object(Enlight_Template_Default))
#10 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_5b92304b05c8b6_57054660(Object(Enlight_Template_Default))
#11 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/View/Default.php(300): Smarty_Internal_TemplateBase->fetch()
#12 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#13 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#14 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#15 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Event/Handler/Default.php(91): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#16 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Event/EventManager.php(220): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#17 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Controller/Action.php(235): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#18 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Controller/Dispatcher/Default.php(549): Enlight_Controller_Action->dispatch('confirmAction')
#19 /home/beamtec/public_html/shop.beamtec.de/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#20 /home/beamtec/public_html/shop.beamtec.de/engine/Shopware/Kernel.php(215): Enlight_Controller_Front->dispatch()
#21 /home/beamtec/public_html/shop.beamtec.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(486): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 /home/beamtec/public_html/shop.beamtec.de/engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#23 /home/beamtec/public_html/shop.beamtec.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(443): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#24 /home/beamtec/public_html/shop.beamtec.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(339): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#25 /home/beamtec/public_html/shop.beamtec.de/engine/Shopware/Components/HttpCache/AppCache.php(189): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#26 /home/beamtec/public_html/shop.beamtec.de/vendor/symfony/http-kernel/HttpCache/HttpCache.php(205): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#27 /home/beamtec/public_html/shop.beamtec.de/engine/Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 /home/beamtec/public_html/shop.beamtec.de/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #29 {main} [] {"uid":"bb69244"}

Leider verstehe ich das überhaupt nicht.
In anderen Einträgen oder Artikeln wir am Anfang eine Error Message oder ähnliches angezeigt, ich kann hier nichts finden.
Auch die detailliertere Fehlerausgabe duch Bearbeiten von config.php bringt nicht mehr Informationen.
Ich kann auch nicht sagen, seit wann der Fehler auftritt bzw. was wir an Plugins und Einstellungen etc. geändert haben. (Der Onlineshop läuft „nur“ als Ersatzteilshop neben dem Hauptgeschäft).

Shopware Version: 5.4.6

Installierte und aktivierte Plugins:

Kann mir jemand helfen?

Vielen Dank und Grüße

Yannic 
 

 

check mal dein versandkostenmodul.

zahlungsarten + länder

da scheint was nicht zu passen. wenn ich auf den warenkorb gehe, ist land=usa, zahlart paypal, aber keine versandart

Wir haben für bestimmte Artikel bzw. Hersteller nicht für alle Länder Vertriebsrechte (Hauptsächlich für den deutschsprachigen Raum und Europa).
Wir haben dann über das Versandkostenmodul bestimmte Hersteller in den entprechenden Ländern gesperrt.

Ich habe dazu in Grundeinstellungen -> Storefront -> Versandkosten-Modul in Erweiterte SQL-Abfrage die Supplier ID eingetragen und lasse diese dann in den Versandkosten unter Eigene Bedingung auslesen und dann den entsprechenden Versand sperren oder freigeben.

Ich werde davon mal ein Backup machen, alles löschen und schauen, ob es daran liegt.

Vielleicht auch noch mal ein Blick ins Serverlog schauen, eventuell steht noch ein Anhaltspunkt.

Am Versandkostenmodul scheint es nicht zu liegen. Ich habe alle Einstellungen dort gelöscht und der Checkout funktioniert immer noch nicht.
Ich spiele gerade ein Backup ein und werde dann noch mal die Logs usw anschauen.

Danke für die Ideen und Vorschläge.

 Guten Morgen,

im Server-Log habe ich folgende Meldungen gefunden, die ungefähr zum Zeitpunkt wie der Error im Frontend geschrieben wurden. Ich glaube aber, dass die nichts damit zu tun haben.

[Mon Sep 10 09:13:52.561633 2018] [:error] [pid 73900] [client 109.235.228.206:59158] SoftException in Application.cpp:267: File "/home/beamtec/public_html/shop.beamtec.de/shopware.php" is writeable by group, referer: https://shop.beamtec.de/

[Mon Sep 10 09:36:10.268296 2018] [autoindex:error] [pid 7310] [client 78.188.24.208:37194] AH01276: Cannot serve directory /home/beamtec/public_html/: No matching DirectoryIndex (index.php,index.php5,index.php4,index.php3,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.jp,index.phtml,index.shtml,index.xhtml,index.htm,index.html,index.wml,Default.html,Default.htm,default.html,default.htm,home.html,home.htm,index.js) found, and server-generated directory index forbidden by Options directive

Per Email erhalte ich folgende Info:

{
    "uri": "/checkout",
    "method": "GET",
    "query": {
        "module": "frontend",
        "controller": "checkout",
        "action": "index"
    },
    "post": []
}

Und der Error-Log ist identisch zu dem in meinem ersten Eintrag.

Kann damit jemand etwas anfangen?

Hast du im Backend das Template für die wesentlichen Merkmale verändert?

Sieht mir nach einem Fehler im Template aus - ggf. das Feld in den Grundeinstellungen.

1 „Gefällt mir“

Das hier sind die Einstellungen für den Bestellabschluss.

 

Bei Storefront -> Versandkosten-Modul habe ich bei der erweiterten SQL-Abfrage folgendes eingefügt

Max(IF(a.supplierID = 6,1,0)) AS mcvac, Max(IF(a.supplierID = 10,1,0)) AS kri, Max(IF(a.supplierID = 9,1,0)) AS instrutech, Max(IF(a.supplierID = 4,1,0)) AS smartbeam

Dies wird später bei den Versandkosten unter Eigene Bedingung ausgelesen und dann der entsprechende Versand gesperrt oder freigegeben.

Vielleicht passt da etwas nicht.

Dann vielleicht bei einer Versandkosten-Beschreibung?

In der Fehlermeldung steht ein {if $sBasketItem das muss ja irgendwo hinterlegt sein. Vielleicht auch in den Textbausteinen.

Mal ganz blöde nachgefragt, woher kommen denn diese Zeichen?

\xC2\xA0

Wurde dies durch das Forum hier gesetzt oder wurde das oben in den Textfeld mit eingegeben?

Das steht genau so im Log bzw. in der E-Mail.

Das wird ein Steuerzeichen oder so sein.

Also Entweder Textbausteine, Template selbst oder Grundeinstellungen. Irgendwo musst du ja etwas geändert haben.

Such doch mal bei den Textbausteinen nach  $sBasketItem und schau mal, ob du da was geändert hast.

Vielleicht sind ja diese merkwürdigen Zeichen der Grund für die Fehlermeldung. Den Text mit Word dort eingefügt?

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Das wird ein Steuerzeichen oder so sein.

Also Entweder Textbausteine, Template selbst oder Grundeinstellungen. Irgendwo musst du ja etwas geändert haben.

Such doch mal bei den Textbausteinen nach  $sBasketItem und schau mal, ob du da was geändert hast.

Bei den Textbausteinen kommen keine Ergebnisse, wenn ich nach BasketItem suche.
Ich habe generell bei den Textbausteinen sehr wenig angepasst. Mir fallen nur 2 ein. 

Wenn ich unter Einstelungen -> Theme Manager die Vorschau-Funktion von einem anderen Theme benutze, kommt der gleiche Fehler beim Versuch den Checkout aufzurufen.

Ich gehe nach und nach die Grundeinstellungen durch, ob mir dort etwas auffällt und gleiche die EInstellungen mit der Hilfe von Shopware ab.

 

@R4M schrieb:

Vielleicht sind ja diese merkwürdigen Zeichen der Grund für die Fehlermeldung. Den Text mit Word dort eingefügt?

Wir haben das Template seit Monaten nicht mehr bearbeitet. Mitte August war die letzte Bestellung, also muss das da noch funktioniert haben. 

Auch ruhig mal ohne alle Plugins testen. Die erweitern natürlich auch die Templates des Checkouts.

Die komischen Zeichen sind, wenn man sie wieder zu einem Zeichen zusammensetzt, ein gesperrtes Leerzeichen. Würde da auch am ehesten die Fehlerquelle vermuten und würde mal das „Template für die wesentlichen Artikelmerkmale“ einfach leer testen, da kommt das Statement ja genau so vor.

Matt

1 „Gefällt mir“

@msslovi0 schrieb:

Die komischen Zeichen sind, wenn man sie wieder zu einem Zeichen zusammensetzt, ein gesperrtes Leerzeichen. Würde da auch am ehesten die Fehlerquelle vermuten und würde mal das „Template für die wesentlichen Artikelmerkmale“ einfach leer testen, da kommt das Statement ja genau so vor.

Matt

OK, das hat geholfen.
Vielen Dank!

Wenn ich das Feld „Template für die wesentlichen Artikelmerkmale“ komplett leer lasse, dann komme ich bis zum Checkout und kann bestellen.
Ich würde das auch so lassen, Filter/Eigenschaften bzw. Kurzbeschreibungen sind bei uns nicht notwendig oder gar nicht erst gepflegt.

Jetzt ist die Frage, wo der Fehler überhaupt her kommt. Wir haben wie gesagt unser Template seit Monaten nicht mehr aktiv bearbeitet und ich sehe auch kein Plugin, das den Checkout oder die Artikel-Beschreibung oder Filter oder wie auch immer verändern soll.

Tendiere da zu dem was @R4M‍ gesagt hat. Sieht sehr nach Copy&Paste aus Word aus, mit dem Template hat dieser Block ja auch nicht wirklich was zu tun, von daher ist es egal wann das Template zu letzt bearbeitet wurde.

Matt

1 „Gefällt mir“

Sorry, da stand ich voll auf dem Schlauch.
Ich dachte es ging um den Inhalt der Datei smarty_internal_templatecompilerbase.php oder um .tpl Dateien.

Ich habe dann den Text aus „Template für die wesentlichen Artikelmerkmale“ in Word kopiert und da waren dann tatsächlich die falschen Leerzeichen drin.
Das ist jetzt korrigiert und alles funktioniert wieder wie es soll.

Vielen Dank für eure Unterstützung.

Viele Grüße

Yannic

@yhuebner schrieb:

Sorry, da stand ich voll auf dem Schlauch.
Ich dachte es ging um den Inhalt der Datei smarty_internal_templatecompilerbase.php oder um .tpl Dateien.

Ne, in dem Fall ist die Fehlermeldung irreführend, weil der Fehler tritt zwar beim Compilen des Templates auf, der eigentliche Smarty-Block wird aber aus der Einstellung importiert, die du jetzt geändert hast.

Matt