Bug with default_modifiers and isset in if
[email protected] Fri, 17 Mar 2006 20:51:43 +0100
| Newsgroups | php.smarty.dev |
|---|---|
| Message-ID | <[email protected]> |
When you set the default modifiers
$smarty->default_modifiers = array('escape:"htmlall":"utf-8"');
and then have a template like this
{if isset($_smarty_debug_output) and $_smarty_debug_output eq "html"}
the output is something like that
<?php
if (isset(((is_array($_tmp=$this->_tpl_vars['_smarty_debug_output'])) ?
$this->_run_mod_handler('escape', true, $_tmp, 'htmlall', "utf-8") :
smarty_modifier_escape($_tmp, 'htmlall', "utf-8"))) &&
((is_array($_tmp=$this->_tpl_vars['_smarty_debug_output'])) ?
$this->_run_mod_handler('escape', true, $_tmp, 'htmlall', "utf-8") :
smarty_modifier_escape($_tmp, 'htmlall', "utf-8")) == 'html'): ?>
and it's obvious that this is not possible.
Parse error: syntax error, unexpected '(', expecting T_STRING or
T_VARIABLE or '$' in XYZ on line XYZ
Would be nice to have this fixed soon. The default modifiers are quite
helpful ^^
Bye, Uli