WG
Carregar dinamicamente Tcheckgroup no método estático
Bom dia, tudo bem?
Sou novo no desenvolvimento com o framework. Gostaria de saber como carrega dinamicamente um TCheckGroup dentro de um método static usando o setChangeAction. Consigo fazer isso com o Tcombo ( TCombo::reload('form_Order','option_id',$combo_options); ), mas com o TCheckGroup dá erro.
Segue trecho do meu código.
Quero que quando for selecionado um produto especifico listar os ingredientes no checkgroup carregando dinamicamente dentro do método estático.
Agradeço desde já pela ajuda. ;)
Sou novo no desenvolvimento com o framework. Gostaria de saber como carrega dinamicamente um TCheckGroup dentro de um método static usando o setChangeAction. Consigo fazer isso com o Tcombo ( TCombo::reload('form_Order','option_id',$combo_options); ), mas com o TCheckGroup dá erro.
Segue trecho do meu código.
$product_id = new TDBUniqueSearch('product_id', 'sample', 'Product', 'id', 'name');
$product_opcao = new TCombo('option_id');
$ingredients = new TCheckGroup('ingredients');
........
$product_id->setChangeAction(new TAction([$this,'onProductChange']));
........
public static function onProductChange( $params )
{
if( !empty($params['product_id']) )
{
try
{
TTransaction::open('sample');
$product = new Product($params['product_id']);
$combo_options = array();
#preenche o array com as opcoes
$combo_options = $product->getOptions();
#var_dump($product->getOptions());
/**
* preenche o tselect ingredientes de acordo como o produto selecionado
*/
$select_ingredients = array();
#preenche o array com os ingredientes
$select_ingredients = $product->getIngredients();
TTransaction::close();
#percorre o array com as opcoes
foreach ($combo_options as $option)
{
$combo_options[$option->id] = $option->name;
}
#======================================================
#percorre o array com as ingredients
foreach ($select_ingredients as $ingredients)
{
$select_ingredients[$ingredients->id] = $ingredients->name;
echo 'key: '.$ingredients->id.'';
echo 'valor: '.$ingredients->name.'';
}
TCombo::reload('form_Order','option_id',$combo_options);
#TForm::sendData('form_Order', $combo_options);
#======================================================
#$this->ingredients->addItems($select_ingredients);
TCheckGroup::reload('form_Order','ingredients', $select_ingredients);
}
catch (Exception $e) // in case of exception
{
new TMessage('error', $e->getMessage());
TTransaction::rollback();
}
}
}
Quero que quando for selecionado um produto especifico listar os ingredientes no checkgroup carregando dinamicamente dentro do método estático.
Agradeço desde já pela ajuda. ;)
https://www.adianti.com.br/forum/pt/view_4853?existe-metodo-equivalente-ao-reloa