diff options
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_internal_compile_while.php')
-rw-r--r-- | library/Smarty/libs/sysplugins/smarty_internal_compile_while.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php index 36dc049db..6a6fb3ef1 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php @@ -42,9 +42,14 @@ class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase $_nocache = ',true'; // create nocache var to make it know for further compiling if (is_array($parameter['if condition']['var'])) { - $compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var']['var'], "'"); } else { - $compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + $var = trim($parameter['if condition']['var'], "'"); + } + if (isset($compiler->template->tpl_vars[$var])) { + $compiler->template->tpl_vars[$var]->nocache = true; + } else { + $compiler->template->tpl_vars[$var] = new Smarty_Variable(null, true); } } else { $_nocache = ''; |