Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Shop for 2018 World Cup Football Boots Online sale at guthjcc.com

Browse best 2018 world cup soccer cleats and shoes from SoccerAzteca.com

Advertisement

Escapando da interpretação do Smarty

Algumas vezes é desejável ou mesmo necessário fazer o Smarty ignorar sessões que em outro caso ele interpretaria. Um exemplo classico é embutindo Javascript ou código CSS no template. O problema aparece porque estas linguagens usam os caracteres { e } que são os delimitadores padrão para o Smarty.

A coisa mais simples é evitar a situação em sí separando o seu código Javascript e CSS nos seus próprios arquivos e então usar os métodos padrões do HTML para acessa-los.

Incluir conteúdo literal é possível usando blocos {literal} .. {/literal}. De modo similar ao uso de entidades HTML, você pode usar {ldelim},{rdelim} ou {$smarty.ldelim} para mostrar os delimitadores atuais.

As vezes é conveniente simplesmente mudar $left_delimiter e $right_delimiter.

Example 3.6. Exemplo de modificar os delimitadores


<?php

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

?>

  

Aonde example.tpl é:


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

  

Veja também escape modifier

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 5 plus 18? (Are you human?)

Advertisement