Dúvida sobre addQuickField() / addQuickFields() Olá Pessoal, boa noite. Bem, estou treinando criação de formulário e gostaria de uma ajuda para entender porque a linha do código abaixo que está comentando não certo ser executada. O restante do formulário está funcionando de boa. A dúvida é só para entender melhor, então alguém poderia me explicar? Por favor! Pois, havia entendido que o método recebia no mínimo três parâmetr...
MA
Dúvida sobre addQuickField() / addQuickFields()  
Fechado
Olá Pessoal, boa noite.

Bem, estou treinando criação de formulário e gostaria de uma ajuda para entender porque a linha do código abaixo que está comentando não certo ser executada. O restante do formulário está funcionando de boa. A dúvida é só para entender melhor, então alguém poderia me explicar? Por favor! Pois, havia entendido que o método recebia no mínimo três parâmetros obrigatórios, um label, um objeto e o tamanho.

Desde já agradeço, muito obrigado!

 
  1. <?php
  2. class Quick extends TPage{
  3. private $formulario;
  4. public function __construct(){
  5. parent::__construct();
  6. $this->formulario = new TQuickForm;
  7. $this->formulario->class = 'tform';
  8. $this->formulario->setFormTitle('Cadastro de Pessoas');
  9. $lblNome = new TLabel('Nome: *');
  10. $lblSobrenome = new TLabel('Sobrenome: *');
  11. $lblEmail = new TLabel('E-mail: *');
  12. $lblTelefone = new TLabel('Telefone: *');
  13. $nome = new TEntry('nome');
  14. $sobrenome = new TEntry('sobrenome');
  15. $email = new TEntry('email');
  16. $telefone = new TEntry('telefone');
  17. $this->formulario->addQuickField($lblNome, $nome,300);
  18. $this->formulario->addQuickField($lblSobrenome, $sobrenome,300);
  19. //$this->formulario->addQuickField($lblEmail,array($email, $lblTelefone,$telefone)); ESTE EXEMPLO TEM NO LIVRO SEM O TAMANHO.
  20. //$this->formulario->addQuickField($lblEmail,array($email, $lblTelefone,$telefone),2); TESTEI DESSA FORMA, MAS NÃO DEU CERTO TBM.
  21. $row = $this->formulario->addRow();
  22. $row->class = 'tformsection';
  23. $row->addCell(new TLabel('Division'))->colspan = 2;
  24. parent::add($this->formulario);
  25. }
  26. }

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


NR

Marlon, existem 2 funções distintas, a addQuickField e addQuickFields:
 
  1. <?php
  2. /**
  3. * Add a form field
  4. * @param $label Field Label
  5. * @param $object Field Object
  6. * @param $size Field Size
  7. * @param $validator Field Validator
  8. */
  9. public function addQuickField($label, AdiantiWidgetInterface $object, $size = 200, TFieldValidator $validator = NULL)
  10. /**
  11. * Add a form field
  12. * @param $label Field Label
  13. * @param $objects Array of Objects
  14. * @param $required Boolean TRUE if required
  15. */
  16. public function addQuickFields($label, $objects, $required = FALSE)
  17. ?>


Como na linha onde o erro ocorre o segundo parâmetro passado é um array, acredito que você esteja querendo chamar a segunda função, com o S no final.
MA

Ahhh é isso mesmo que aconteceu Nataniel. No livro tem um "addQuickFilds" em meio a tantos "addQuickFild". Portanto, quando acrescentei o "s" ao final do código que coloquei aqui, deu certo.

Muito obrigado pela explicação e ajuda.