Hallo Smarty-Experten, dies hat mir keine Ruhe gelassen. Bisher hatte ich eigene Funktionen schön im Ordner /inc/ abgelegt und dann mit "include ...." eingebunden - so weit so gut. Da dies servicepack-gefährlich ist habe ich nun eine Smarty-Funktion gebastelt. Macht nix dolles - zerlegt den übergebenen String in Einzelteile, verarbeitet manches an Ort und Stelle und gibt einen Teil brav wieder zurück. So weit so gut - die Fkt. arbeitet einwandlos. Doch nun schlägt mein BrettVormKopf aber sowas von zu: Wie verarbeite ich jetzt im Template den zurückgegebenen String? Beispiel: Code: {if [COLOR=red]$info_message}[/COLOR] {mbr_color_alert typ=[COLOR=red]$info_message[/COLOR]} <script language="Javascript">alert('Unsere Newsletter-Verwaltung meldet:','{[COLOR=red]$info_message[/COLOR]}')</script> {/if} DIe $info_message kommt von Steuerzeichen bereinigt zurück ... und soll im Script angezeigt werden. Irgendwie fehlt mir da ein Stück!? Für sachdienliche Hinweise wäre ich sehr dankbar.
Hallo Manfred, du benötigst keine Smarty-function, sondern ein Smarty-modifier. Der sieht so aus: Dateiname modifier.mbr_color_alert.php PHP: <?php function smarty_modifier_mbr_color_alert($string) { //...$string verändern, wie du willst...// return $string; } ?> Angewendet wie folgt: Code: {if $info_message} <script language="Javascript">alert('Unsere Newsletter-Verwaltung meldet:','{$info_message|mbr_color_alert}')</script> {/if}
Hallo Moritz, danke für den klasse Vorschlag ... da fallen mir gleich ein/zwei/... neue Ideen ein! Kleines Prob: Das Script kann scheinbar mit dem Modifier nix anfangen. Habe aber rausgetüfftelt was bei meiner Variante fehlte: In meiner Funktion fehlte... PHP: ...$smarty->assign('MBrError',$mbr_error_msg);}?> ... dann die "$MBrError" ins Script und .... funkonopelt! PS: Und dass alles nur um den Shop SP-sicher zu machen!