public function action($name, $arguments = array()) { //TODO: Check Permission $action_info = explode('.', $name); $action = array_shift($action_info); $hasWidget = (bool) ("widget" == strtolower(array_shift($action_info))); if ($hasWidget) { $action[0] = strtoupper($action[0]); $widgetClass = sprintf("%s_%s_%s", get_class($this), $this->getWidgetFolder(), $action); $widget = new Joy_Reflection($widgetClass); return $widget->newInstance($arguments); } else { return parent::action($action, $arguments); } # $view = Joy_View($template, # $this->assign; # var_dump($hasWidget, $action); }