/** * Diese Methode returned. Die eigentliche (obere) funktion wurde aus * rückwärtskompatibilität belassen. Diese Methode wird zB im * getTemplateVars der MultiCheckbox verwendet. */ public function returnFormField($vars) { extract($vars); $ret = ''; if (isset($mask)) { $ret .= '{' . $mask . '}'; } if (isset($preHtml)) { $ret .= $preHtml; } if (isset($html)) { $ret .= $html; } elseif (isset($items)) { foreach ($items as $i) { $ret .= $this->returnFormField($i); } } elseif (isset($component)) { $view = new Kwf_Component_Renderer(); $ret .= $view->renderComponent($component); } if (isset($postHtml)) { $ret .= $postHtml; } if (isset($mask)) { $ret .= '{/' . $mask . '}'; } return $ret; }
public function testComponentLink() { $this->_init('Kwf_Component_Output_Link_Component'); $this->_root->setFilename(''); $output = new Kwf_Component_Renderer(); $html = $output->renderComponent(Kwf_Component_Data_Root::getInstance()); $this->assertEquals('<a href="/c1">C1</a> <a href="/foo?f1=1#a2" class="Bar" rel="bar">Foo</a>', $html); }
protected function _render() { $view = new Kwf_Component_Renderer(); return $view->renderComponent($this->_data); }
/** * Render the component * * Usually only used internally or for debugging * * @param bool if view cache should be used, if null config setting will be used * @param bool if master should be rendered * @return string */ public function render($enableCache = null, $renderMaster = false, &$hasDynamicParts = false) { $output = new Kwf_Component_Renderer(); if ($enableCache !== null) { $output->setEnableCache($enableCache); } if ($renderMaster) { $hasDynamicParts = true; return $output->renderMaster($this); } else { return $output->renderComponent($this, $hasDynamicParts); } }
public function jsonSaveAction() { $postData = $this->getRequest()->getParams(); if (!isset($postData['componentId'])) { throw new Kwf_Exception_Client('component not found'); } $component = Kwf_Component_Data_Root::getInstance()->getComponentById((string) $postData['componentId'], array('ignoreVisible' => true)); if (!$component) { throw new Kwf_Exception_Client('component not found'); } $component = $component->getComponent(); $postData['doNotRelocate'] = true; $component->preProcessInput($postData); $component->processInput($postData); $errors = $component->getErrors(); $this->view->errorPlaceholder = $component->getPlaceholder('error'); $this->view->errorFields = array(); $this->view->errorMessages = array(); foreach ($errors as $error) { if (isset($error['message'])) { $error['messages'] = array($error['message']); } $msgs = array(); foreach ($error['messages'] as $msg) { $msgs[] = htmlspecialchars($msg); } if (isset($error['field'])) { //if message is associated with a specific field show it there $this->view->errorFields[$error['field']->getFieldName()] = implode('<br />', $msgs); } else { //else just above the form $this->view->errorMessages = array_merge($this->view->errorMessages, $msgs); } } $this->view->successContent = null; if (!$this->view->errorMessages && !$this->view->errorFields) { $success = $component->getData()->getComponent()->getSuccessComponent(); if ($success instanceof Kwf_Component_Data) { if ($success->isPage) { $this->view->successUrl = $success->url; } else { $process = $success->getRecursiveChildComponents(array('page' => false, 'flags' => array('processInput' => true))); if (Kwf_Component_Abstract::getFlag($success->componentClass, 'processInput')) { $process[] = $success; } $postData = array(); //empty because there can't be anything as we didn't display the success yet foreach ($process as $i) { if (method_exists($i->getComponent(), 'preProcessInput')) { $i->getComponent()->preProcessInput($postData); } } foreach ($process as $i) { if (method_exists($i->getComponent(), 'processInput')) { $i->getComponent()->processInput($postData); } } if (class_exists('Kwf_Events_ModelObserver', false)) { //Nur wenn klasse jemals geladen wurde kann auch was zu processen drin sein Kwf_Events_ModelObserver::getInstance()->process(false); } $renderer = new Kwf_Component_Renderer(); $this->view->successContent = $renderer->renderComponent($success); } } else { if (is_string($success)) { $this->view->successUrl = $success; } } } $this->view->errorFields = (object) $this->view->errorFields; }