public function render() { $value = $this->getValue(); $vars = $this->getTemplateVars(); // quebrar este switch em multiplas funcoes (ex.: renderButton, renderSelect...) switch ($this->type) { case 'btn_validated': case 'btn_simple': return render('field-button.php', $vars); break; case 'select': $vars['options'] = $this->buildOptions(); return render('field-select.php', $vars); break; case 'radio': $vars['options'] = $this->buildOptions(); return render('field-radio.php', $vars); break; case 'hidden': return \Meta\Core\Form::hidden($this->name, $value); break; case 'pkeyfield': // campo deste tipo (chave primaria) deve apenas ser exibido quando houver o valor sendo passado na URL if ($value) { return render('field-primary.php', $vars); } break; case 'boolean': $vars['options'] = array(1 => 'Sim', 0 => 'Nao'); return render('field-select.php', $vars); break; case 'checkbox': return render('field-checkbox.php', $vars); break; case 'date': return render('field-date.php', $vars); break; case 'datetime': return render('field-datetime.php', $vars); break; case 'time': return render('field-time.php', $vars); break; case 'autocomplete': break; case 'password': return render('field-password.php', $vars); break; case 'text': default: return render('field-text.php', $vars); break; } }