/** * Gets/Saves information about views and stores truncated viewParams. * * @param Event $event * @param View $view * @param mixed $file */ public function beforeRenderView($event, $view, $file) { $params = array(); $toView = $view->getParamsToView(); $toView = !$toView ? array() : $toView; foreach ($toView as $k => $v) { if (is_object($v)) { $params[$k] = get_class($v); } elseif (is_array($v)) { $array = array(); foreach ($v as $key => $value) { if (is_object($value)) { $array[$key] = get_class($value); } elseif (is_array($value)) { foreach ($value as $k2 => $v2) { if (is_array($v2)) { $array[$key][$k2] = 'Array[...]'; } else { $array[$key][$k2] = $v2; } } } else { $array[$key] = $value; } } $params[$k] = $array; } else { $params[$k] = (string) $v; } } $this->_viewsRendered[] = array('path' => $view->getActiveRenderPath(), 'params' => $params, 'controller' => $view->getControllerName(), 'action' => $view->getActionName()); }
protected function _renderJson(View $view) { $this->getResponse()->setContentType('application/json')->setJsonContent($view->getParamsToView())->send(); $view->setRenderLevel(View::LEVEL_NO_RENDER); }