如何使用表单助手在 prestashop 中构建单个 'flag' 复选框?

How to build a single 'flag' checkbox in prestashop with form helpers?

我无法从官方文档中弄清楚如何从标准助手构建单个复选框元素。我已经在数据库中有了相关的布尔实体,我也可以为它构建收音机或选择器,它们可以工作。

但我真正想要的是有一个复选框用作布尔标志。

有人知道怎么做吗?

好的,答案是只使用 'switch' 类型:这将在后台页面上构建一个 'slider' 开关。为了将来参考,我将报告完成同一任务的 3 种不同方法:收音机、select 和开关。

它们都已在 AdminAddressesController 上进行了测试,并绑定到名为 '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
);