/** * Render a view from a field or form object * * @access public * @return void */ public function render($view_file = FALSE, $view_prefix = NULL) { if ($this->_field->get('render', NULL) === FALSE) { return; } // First run and do any pre_render stuff $this->pre_render(); // Prefix acts as a templating system for views $prefix = $this->_get_view_prefix($view_prefix); // Determine the view file $view = $this->_get_view($view_file); // Skip the prefix if view prefix is FALSE $skip_prefix = $view_prefix === FALSE; $this->_view->bind('open', $open)->bind('close', $close)->bind('message', $message)->bind('label', $label); $prefix = rtrim($prefix, '/'); $open = Formo_View::factory("{$prefix}/_open_tag", array('view' => $this->_view)); $open->_field = $this->_field; $close = Formo_View::factory("{$prefix}/_close_tag", array('view' => $this->_view)); $close->_field = $this->_field; $message = Formo_View::factory("{$prefix}/_message", array('view' => $this->_view)); $message->_field = $this->_field; $label = Formo_View::factory("{$prefix}/_label", array('view' => $this->_view)); $label->_field = $this->_field; return $this->_view->render("{$prefix}/{$view}"); }
public function pre_render() { if ($attr = $this->_field->get('attr')) { $this->attr($attr); } if ($css = $this->_field->get('css')) { $this->css($css); } if ($text = $this->_field->get('text')) { $this->text($text); } $this->_auto_id(); return parent::pre_render(); }