Fix #1893 duplicate function call when loop="" template syntax is used

This commit is contained in:
Kijin Sung 2022-03-14 01:53:27 +09:00
parent 7b46deb973
commit f373e38d6d
2 changed files with 6 additions and 6 deletions

View file

@ -561,7 +561,7 @@ class TemplateHandler
{
$expr_m[2] .= '=>' . trim($expr_m[3]);
}
$nodes[$idx - 1] .= sprintf('<?php if(%1$s)foreach(%1$s as %2$s){ ?>', $expr_m[1], $expr_m[2]);
$nodes[$idx - 1] .= sprintf('<?php $__loop_tmp=%1$s;if($__loop_tmp)foreach($__loop_tmp as %2$s){ ?>', $expr_m[1], $expr_m[2]);
}
elseif(isset($expr_m[4]) && $expr_m[4])
{