22/06/2012, 09:21:13
si tu fais un echo de code contenant du smarty il te faudra forcer le parcing smarty, sinon le code HTML généré sera simplement
Au passage je te corrige :
Fais gaffe aux appostrophe/guillemet et utilisation de tes variables.
Bref je te parlais de forcer le parsing Smarty. La méthode est la suivante, à coller en bas de ton UDT qui produit le code HTML/Smarty
En utilisant intelligemment la syntaxe heredoc tu t'épargnes les soucis d'ouverture/fermeture de guillemets
Code :
<form name="frm" action="{literal}{root_url}{/literal}"/index.php?page=archive2&showtemplate=false&q=maChaine)>
Au passage je te corrige :
Citation :echo '<form name="frm" action="{literal}{root_url}{/literal}/index.php?page=archive2&showtemplate=false&q='.$str.'">';
Fais gaffe aux appostrophe/guillemet et utilisation de tes variables.
Bref je te parlais de forcer le parsing Smarty. La méthode est la suivante, à coller en bas de ton UDT qui produit le code HTML/Smarty
Code :
$HTML = '<form name="frm" action="{literal}{root_url}{/literal}/index.php?page=archive2&showtemplate=false&q='.$str.'">';
//Compilation Smarty
$smarty->_compile_source('temporary template', $HTML, $_compiled );
@ob_start();
$smarty->_eval('?>' . $_compiled);
$_contents = @ob_get_contents();
@ob_end_clean();
echo $_contents;
En utilisant intelligemment la syntaxe heredoc tu t'épargnes les soucis d'ouverture/fermeture de guillemets
Code :
$HTML = <<<EOT
<form name="frm" action="{literal}{root_url}{/literal}/index.php?page=archive2&showtemplate=false&q=$str">
EOT;
//Compilation Smarty
$smarty->_compile_source('temporary template', $HTML, $_compiled );
@ob_start();
$smarty->_eval('?>' . $_compiled);
$_contents = @ob_get_contents();
@ob_end_clean();
echo $_contents;