/** * {@inheritdoc} */ public function __invoke($parameters = array()) { $object = null; if (isset($parameters['object'])) { $object = $parameters['object']; } else { if (isset($parameters[0])) { $object = $parameters[0]; } } if (isset($object)) { Utilities::assumeSubclassOf($object, $this->objectType); } else { throw new InvalidArgumentException(tr('JTK object is null')); } $this->viewData['object'] = $object; $response = parent::__invoke($parameters); if ($response instanceof ViewResponse) { return $response->body; } return $response; }
/** * {@inheritdoc} */ protected function render($templateName = null) { if (!isset($templateName)) { list(, $caller) = debug_backtrace(false); $class = str_replace($this->app->n('Snippets\\'), '', $caller['class']); $dirs = array_map(array('Jivoo\\Core\\Utilities', 'camelCaseToDashes'), explode('\\', $class)); $templateName = implode('/', $dirs) . '/'; $templateName .= Utilities::camelCaseToDashes($caller['function']) . '.html'; } return parent::render($templateName); }