Пример #1
0
 /**
  * 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}");
 }
Пример #2
0
 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();
 }