Хорошо, ответ заключается в том, чтобы просто использовать тип «switch»: он построит переключатель «ползунок» на странице backoffice. Для будущей справки я собираюсь сообщить о трех разных способах выполнения одной и той же задачи: радио, выбрать и переключить.
Все они были протестированы на AdminAddressesController и привязаны к настраиваемому логическому полю DB, называемому «expo».
//SELECT
$s_options = array(
array('expo' => 1, 'name' => 'Yes'),
array('expo' => 0, 'name' => 'No')
);
$temp_fields[] = array(
'type' => 'select',
'label' => $this->l('Is Expo'),
'name' => 'expo',
'required' => false,
'options' => array(
'query' => $s_options,
'id' => 'expo',
'name' => 'name'
)
);
//RADIO
$s_options = array(
array('id' => 'expo_on', 'value' => 1, 'label' => $this->l('Yes')),
array('id' => 'expo_off', 'value' => 0, 'label' => $this->l('No')),
);
$temp_fields[] = array(
'type' => 'radio',
'label' => $this->l('Is Expo'),
'name' => 'expo',
'required' => false,
'class' => 't',
'is_bool' => true,
'values' => $s_options
);
//SWITCH
$s_options = array(
array('id' => 'expo_on', 'value' => 1, 'label' => $this->l('Yes')),
array('id' => 'expo_off', 'value' => 0, 'label' => $this->l('No')),
);
$temp_fields[] = array(
'type' => 'switch',
'label' => $this->l('Is Expo'),
'name' => 'expo',
'required' => false,
'is_bool' => true,
'values' => $s_options
);