TDropDown problema no action boa tarde, estou com um problema no action dos objectos TDropDown no mesmo form eu uso button com action e a função chamada estou usando como estática, (no action do tbutton funciona bem), já no action do TDropDown quando chega na função que o action chama, parece que não recebe nada como parâmetro, o $param vem vazio. se eu deixar a função normal sem ser estática, o getdata do form...
DD
TDropDown problema no action  
boa tarde,
estou com um problema no action dos objectos TDropDown
no mesmo form eu uso button com action e a função chamada estou usando como estática, (no action do tbutton funciona bem), já no action do TDropDown quando chega na função que o action chama, parece que não recebe nada como parâmetro, o $param vem vazio.
se eu deixar a função normal sem ser estática, o getdata do form não pega nada,

não sei se é problema com o action do TDropDown, aqui vai meu código

# CHAMADO
$dropdown_chamados = new TDropDown('Chamados', 'fa:edit blue');
$dropdown_chamados->addAction( 'Abertura', new TAction(array($this, 'onChamadosAbertura') ));
$dropdown_chamados->addAction( 'Lista', new TAction(array($this, 'onChamadosLista') ));

function onChamadosAbertura($param)
{

var_dump($param); // aqui vem vazio

$data = $this->form->getData();
var_dump($data);
new TMessage('info', "onChamadosAbertura : ".$data->xxx);
}

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 (3)


NR

As ações do TDropDown enviam as informações como get e não post, por isso os dados do formulário não são enviados.

Uma possível solução seria chamar uma função estática e a partir dela chamar a função TApplication::postData.
DD

Nataniel, a função que é chamada pelo action do TDropdown não recebe nada, nem pelo get.

$dropdown_chamados = new TDropDown('Chamados', 'fa:edit blue');
$dropdown_chamados->addAction( 'Abertura', new TAction(array($this, 'onChamadosAbertura')

public static function onChamadosAbertura($param)
{
var_dump($param);
# aqui não vem nada
}
NR

Tente forçar um parâmetro na própria TAction para testar:
 
  1. <?php
  2. $dropdown_chamados->addAction( 'Abertura', new TAction(array($this, 'onChamadosAbertura'),array('parametro1'=>123)));
  3. ?>