[Gelöst]HILFE! Newsletter "geht nicht mehr"

Hallo,

ich stehe mit dem Newsletter eh auf Kriegsfuß. Drum habe ich lange keine verschickt. Nun soll einer rausgehen, ist soweit fertig und ich will eine Testmail versenden. Hier kommt es zur folgenden Fehlermeldung (beim Vorschaubutton ebenfalls):

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.
Syntax Error in template "/var/www/vhosts/domain.de/verzeichnis/themes/Frontend/verzeichnis/newsletter/index/footer.tpl" on line 93 "<a href="{$sStart|dirname}/backend/newsletter?campaign={$sCampaign.id}&mailaddress={$sUser.mailaddressID}&hash={$sCampaignHash}" target="_blank" style="color:#000 !important;">" modifier 'dirname' not allowed by security setting in engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 657
Stack trace:

#0 engine/Library/Smarty/sysplugins/smarty_security.php(227): Smarty_Internal_TemplateCompilerBase->trigger_template_error('modifier 'dirna...')
#1 engine/Library/Smarty/sysplugins/smarty_internal_compile_private_modifier.php(98): Smarty_Security->isTrustedPhpModifier('dirname', Object(Smarty_Internal_SmartyTemplateCompiler))
#2 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(475): Smarty_Internal_Compile_Private_Modifier->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#3 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler('private_modifie...', Array, Array)
#4 engine/Library/Smarty/sysplugins/smarty_internal_compile_private_print_expression.php(65): Smarty_Internal_TemplateCompilerBase->compileTag('private_modifie...', Array, Array)
#5 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(475): Smarty_Internal_Compile_Private_Print_Expression->compile(Array, Object(Smarty_Internal_SmartyTemplateCompiler), Array, NULL, NULL)
#6 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(249): Smarty_Internal_TemplateCompilerBase->callTagCompiler('private_print_e...', Array, Array)
#7 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2358): Smarty_Internal_TemplateCompilerBase->compileTag('private_print_e...', Array, Array)
#8 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r28()
#9 engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3201): Smarty_Internal_Templateparser->yy_reduce(28)
#10 engine/Library/Smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(105): Smarty_Internal_Templateparser->doParse(10, '/backend/newsle...')
#11 engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(192): Smarty_Internal_SmartyTemplateCompiler->doCompile('
		{s name='NewsletterFooterLinkNewWindow'}{/s}

Hallo,

die Fehlermeldung steht doch deutlich da: “modifier ‘dirname’ not allowed by security setting”. Weiteres dazu siehe: Shopware 5 upgrade guide . Am einfachsten und schnellsten wäre es, hinter {$sStart|dirname} das dirname zu entfernen - was auch immer es da zu suchen hat, im Standard von Shopware 5.3 ist es dort auf jeden Fall nicht, genauso nicht in einer neueren Shopware 5.2 - Version.

Beste Grüße

Sebastian

Hallo,

also mit dem Entwicklerlatein kann ich nichts anfangen. Ich bin 2015 mit SW 5.1 oder 5.2 gestartet, weiß ich nicht mehr. Habe seither immer die anstehenden Updates gemacht. Aber an dieser Zeile im Template habe ich ganz sicher nie etwas geändert. Der letzte Newsletter ist genau 12 Monate her, da ging es auch noch mit dieser Schreibweise.

Wenn ich dich jetzt richtig verstehe, müsste ich die Zeile so abändern?

		{s name='NewsletterFooterLinkNewWindow'}{/s}

 

Also einfach nur das |dirname löschen…

Hallo,

schau dir doch einfach die Datei im Bare - Theme an und vergleich deine damit. Im Prinzip wird es aber wahrscheinlich ausreichen, das |dirname wie erwähnt zu entfernen.

Beste Grüße

Sebastian

Gelöscht, getestet. Vorschau geht jetzt, Testversand aber immer noch nicht… Da scheint noch  mehr nicht zu stimmen. Jetzt meckert er über die alt/index.tpl Zeile 36. Ich muss nochmal in Ruhe schauen und vergleiche die Dateien wie von dir geschrieben.

Ich verstehe allerdings nicht, warum man da aufgrund von Updates manuell Hand anlegen muss.

Hallo,

wenn du eine Theme - Anpassung in deinem eigenen Theme vornimmst, überschreibst du ja damit auch eine mögliche Änderung aus dem Bare - Theme (aus einem Update). Wenn du dann dazu noch security - Funktionen nutzt (dirname), die unsicher sind und deren Nutzung seit Shopware 5.3 einen Fehler werfen sollen, ist es eigentlich völlig normal, das man bei einem Update auch mal Hand anlegen muss. Schließlich bedeutet ja ein Update nicht nur Neuerungen, sondern auch Bugfixes. Im Prinzip zwingt dich ja auch niemand, ein Update zu machen - wenn du es machst, musst du aber schon damit rechnen, dass du auch deine eigenen Änderungen prüfen musst oder prüfen lassen musst.

Beste Grüße

Sebastian

ja, sorry. Inzwischen ist auch der Groschen gefallen, dass eine updatesichere Veränderung des Templates genau solche Folgen haben. Kann also muss ich jetzt bei allen Updates genau schauen, ob Dateien geändert wurden, die ich updatesicher überarbeitet habe… ohje :wink: Ich such schonmal…