smarty error im checkout/confirm

Hallo liebe shopware community :slight_smile:

Folgender Fehler erscheint, sobald ich checkout/confirm aufrufe und sich ein Artikel im Warenkorb befindet:
 

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

in engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 657

Stack trace:

#0 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3144): Smarty_Internal_TemplateCompilerBase->trigger_template_error()
#1 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3209): Smarty_Internal_Templateparser->yy_syntax_error(10, '\xC2')
#2 engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '\xC2')
#3 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('\n compileTemplate(Object(Smarty_Internal_Template))
#5 engine/Library/Smarty/sysplugins/smarty_internal_compile_block.php(255): Smarty_Internal_Compile_Block::compileChildBlock(Object(Smarty_Internal_SmartyTemplateCompiler), 'frontend_index_...')
#6 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(475): Smarty_Internal_Compile_Blockclose->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#7 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler('blockclose', Array, Array)
#8 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2493): Smarty_Internal_TemplateCompilerBase->compileTag('blockclose', Array)
#9 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r58()
#10 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(58)
#11 engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '\n ...')
#12 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('{block name="fr...')
#13 engine/Library/Smarty/sysplugins/smarty_internal_template.php(187): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Enlight_Template_Default))
#14 engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(155): Smarty_Internal_Template->compileTemplateSource()
#15 engine/Library/Enlight/View/Default.php(274): Smarty_Internal_TemplateBase->fetch()
#16 engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(216): Enlight_View_Default->render(Object(Enlight_Template_Default))
#17 engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(242): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#18 engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(136): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#19 [internal function]: Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#20 engine/Library/Enlight/Event/Handler/Default.php(91): call_user_func(Array, Object(Enlight_Controller_ActionEventArgs))
#21 engine/Library/Enlight/Event/EventManager.php(214): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#22 engine/Library/Enlight/Controller/Action.php(202): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#23 engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('confirmAction')
#24 engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#25 engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch()
#26 vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#28 vendor/symfony/http-kernel/HttpCache/HttpCache.php(444): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#29 vendor/symfony/http-kernel/HttpCache/HttpCache.php(344): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#30 engine/Shopware/Components/HttpCache/AppCache.php(178): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#31 vendor/symfony/http-kernel/HttpCache/HttpCache.php(210): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#32 engine/Shopware/Components/HttpCache/AppCache.php(114): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#33 shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#34 {main}

Leider kann ich mit dieser Fehlermeldung nichts anfangen und weiß somit garnicht, wo ich auf die Suche gehen soll. Kann mir da vielleicht jemand einen Tipp geben?

Viele Grüße

Alex

Du hast einen Syntaxfehler in Deinem Smarty-Template Frontend/index/confirm.tpl. Prüfe die Datei nach einem entsprechenden Fehler und kompiliere das Theme neu.

1 Like

Hi Synonymous,

Ich habe den themes Ordner aus einer frischen Installation in den Shop kopiert, das Responsive Theme kompiliert und den Cache des Shops geleert. Leider weiterhin ohne Erfolg.

Möglicherweise überlädt ein Plugin Teile des Themes und es kommt damit zu diesem Fehler. Sieh auch mal in Deinen Logs nach, ob Du dort weitere Informationen zu dieser Exception findest.

1 Like

Das habe ich auch schon in betracht gezogen. Ich habe alle Fremd-Plugins im Shop deaktiviert. Hat leider nichts gebracht. Um ganz sicher zu sein, habe ich eine neue Installation aufgesetzt auf einem Test Server und den Datenbank Dump eingespielt. Leider läuft er da auch in einem Fehler rein.
Ich vermute korrupte Daten. Der Kunde hat nun auch verlauten lassen, dass er wohl einen Artikel Import über eine CSV hat laufen lassen.

Hast du vielleicht eine Idee woran es liegen könnte? Im Fehlerlog des Servers (Shopware) ist der gleiche Fehler zu finden, wie in meinem Eingangs Post.

Hast Du ggf. einen Textbaustein im Checkout geändert? Auch dort wird smarty geparsed.

1 Like

Ja, vielleicht enthält ein Artikel etwas wie “{Hallo Welt}”. Wenn dieser Content ebenfalls geparsed wird, schmeißt es ihn auf. Sollte dann aber eigentlich nur bei diesem einen Artikel passieren.

1 Like

ich bin der Kunde, von dem SlowLoris spricht. Wir haben wordpress. Da gibt es „Hallo Welt“. In Wordpress, in dem laufend Artikel geschrieben werden, ist der nicht funktionierende Shop integriert. Den „Hallo Welt“ Artikel gibt es bereits seit dem 5.3.2016, dem Tag seit dem wir Wordpress nutzen.

Am 31.3.2016 wurden ca 800 Bilder mit 800 CSV Datensätzen verknüpft und in den Shop eingelesen. Die letzte Bestellung, die Funktioniert hatte, war an diesem Tag. Man könnte all diese Datensätze nochmals löschen.

Nein, es ging nicht um „Hallo Welt“ sondern um die geschwungenen Klammern mit irgendeinem Inhalt. Also am Besten mal eine Suche nach geschwungenen Klammern in der DB durchführen.

1 Like

Hi Synonymous,

ich habe die Datenbank auf Klammern durchsucht, aber in Verbindung mit Artikeln oder Zahlungsarten nichts gefunden.

Gibt es eine Möglichkeit die php Error Aussgabe insofern zu verändern, dass er die strings nicht trimt? Somit könnte ich zumindest eingrenzen in welchem Block das rendern explodiert. Der Fehler wird ja leider ohne Error Message geworfen.
Vielen Dank für deine bisherige Hilfe soweit :slight_smile:

Das geht bestimmt - am Besten Mr. Google befragen. Geht vermutlich in der php.ini…

1 Like

Ich habe den Fehler gefunden. Der Textbaustein „ConfirmTerms“ enthielt Zeichen, die wie Leerzeichen aussahen, allerdings keine waren. Das hat sich erst nach einem kopieren in einen Texteditor rausgestellt. Nach dem Ersetzen durch richtige Leerzeichen funktionierte wieder alles. Keine Ahnung, wie diese dort rein gekommen sind…

Falls es jemanden interessiert wie ich bei der Fehlersuche vorgegangen bin: Ich habe schrittweise alle Blocks aus der chechkout/confirm.tpl gelöscht, bis dei Seite wieder lief und somit konnte ich den fehlerhaften Block identifizieren.

Schade, dass smarty da keine brauchbare Fehlermeldung ausspuckt.

Vielen dank für eure Tipps!

1 Like

Könnte sein, dass der Textbaustein früher z.B. in Word bearbeitet wurde.
NIE Dokumente aus Word direkt kopieren, am Besten immer über einen reinen Texteditor wie Notepad++
Bei Word landen im Hintergrund immer krude Steuerzeichen :wink:

1 Like