public function each(&$list, $varname = NULL, $renderer = FALSE) { if (empty($list)) { return; } $iterate = $list; if ($varname) { if (!isset($list[$varname])) { return; } $iterate = $list[$varname]; } if (!arr::is_iterable($iterate)) { return; } foreach ($iterate as $key => $value) { $view = clone $this; $view->set('view_each_key', $key); $view->set('view_each_value', (string) $value); $view->set($key, $value); if ($varname) { $view->set($varname, $value); } $view->render(TRUE, $renderer); unset($view); } }