smarty template engine
Friday, May 16, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Smarty Parsing umgehen

Manchmal ist es wünschenswert, dass Smarty Teile eines Templates nicht parst. Dies ist zum Beispiel der Fall, wenn Javascript oder CSS im Template eingebettet werden. Da diese Sprachen selbst { und } nutzen, erkennt Smarty diese als Start- beziehungsweise End-Tags.

Der einfachste Weg, dieses Problem zu umgehen, ist das Auslagern des betreffenden Javascript oder CSS Codes in eigene Dateien.

Um solche Inhalte trotzdem im gleichen Template einzubetten, können Sie {literal} .. {/literal} Blöcke verwenden. Die aktuell benutzten Trennzeichen können Sie mit {ldelim}, {rdelim}, {$smarty.ldelim} und {$smarty.rdelim} ausgeben.

Manchmal ist es auch einfacher, die Trennzeichen selbst zu ändern: $left_delimiter und $right_delimiter definieren diese.

Beispiel 3-7. Beispiel wie die Trennzeichen angepasst werden

<?php

$smarty 
= new Smarty;
$smarty->left_delimiter '<!--{';
$smarty->right_delimiter '}-->';
$smarty->assign('foo''bar');
$smarty->assign('name''Albert');
$smarty->display('example.tpl');

?>

example.tpl würde somit wie folgt aussehen:

Willkommen bei Smarty, <!--{$name}-->!
<script language="javascript">
  var foo = <!--{$foo}-->;
  function dosomething() {
    alert("foo is " + foo);
  }
  dosomething();
</script>

Siehe auch: Escape Modifikator




 

credits 

Smarty Copyright © 2002-2008 New Digital Group, Inc.
All rights reserved.
Last updated: Tue Feb 12 09:11:05 2008 CST