Como posso obter o valor selecionado em vários menus suspensos no formulário de administração
-
13-12-2019 - |
Pergunta
Código:
$fieldset->addField('race', 'multiselect', array(
'label' => Mage::helper('tuition')->__('Race'),
'values' => Example_Tuition_Block_Adminhtml_Student_Grid::getValueArray4(),
'name' => 'race',
"class" => "required-entry",
"required" => true,
));
em grid.php
static public function getOptionArray4()
{
$data_array=array();
$data_array[0]='Indian';
$data_array[1]='Chinese';
$data_array[2]='Malay';
$data_array[3]='Eurasian';
$data_array[4]='Others';
return($data_array);
}
static public function getValueArray4()
{
$data_array=array();
foreach(Example_Tuition_Block_Adminhtml_Tutor_Grid::getOptionArray4() as $k=>$v){
$data_array[]=array('value'=>$k,'label'=>$v);
}
return($data_array);
}
e salve dados como este
$post_data['race'] = implode(',',$post_data['race']); // 0,1,2,3
Agora quero obter o valor selecionado no formulário de administração, como posso fazer isso
Aqui eu quero selecionar aquele valor que está salvo no banco de dados, mas estou obtendo apenas um valor selecionado
Solução
no formulário.php
Aqui você pode definir o valor
if (Mage::getSingleton("adminhtml/session")->getStudentData())
{
$data = Mage::getSingleton('adminhtml/session')->getStudentData();
$data['race'] = isset($data['race']) ? explode(',', $data['race']) : array(); // using this you can get value of multiple dropdown selected
$form->setValues($data);
Mage::getSingleton("adminhtml/session")->setStudentData(null);
}
elseif(Mage::registry("student_data")) {
$data = Mage::registry('student_data')->getData();
$data['race'] = isset($data['race']) ? explode(',', $data['race']) : array(); // using this you can get value of multiple dropdown selected
$form->setValues($data);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange