Drupal布尔单选按钮/复选框选择N / A选项

时间:2015-12-29 12:50:19

标签: php drupal drupal-7 radio-button migration

我正在开发一个需要从布尔复选框/单选按钮中选择N / A选项的迁移类。我已将字段配置为1 == True0 == No。但是,如果源中没有指定任何内容,我想选择N/A选项。

我在prepareRow函数中调用的函数如下所示:

protected function utcYesNoBoolean($value) {
  $upper = strtoupper($value);

  switch ($upper){
    case "YES":
      return 1;
      break;

    case "NO":
      return 0;
      break;

    //Not filled in so set to NA
    default:
      return NULL;
      break;
  }
}

因此,如果来源如下:

source example

  • id 1:result => 1 =>选择是
  • id 2:result => 0 =>选择否
  • id 3:result =>空值? =>选择N / A

我应该这样做并返回NULL并忽略在UI中未选择该字段的事实,或者有没有办法选择N/A选项?为了选择N/A选项,我应该返回什么值?我尝试返回-1NULL"N/A",但没有成功。

或者是否可以使用迁移字段映射将字段的默认值设置为N/A

radio buttons

注意:如果重要的话,在Drupal 7上使用Commerce Kickstart。另请注意,需要在migrate类中设置with PHP代码。

1 个答案:

答案 0 :(得分:0)

与此同时,我自己想出来了。当您将产品上的字段从No更新为N/A时。保存并再次编辑,您将看到没有任何选择。

因此,在数据库中,这也将导致空/删除字段/记录。因此,无需将其设置为YesNoN/A按钮用于删除值,以防您不再需要该值。

感谢所有阅读此问题的人,如果先前检查过Drupal数据库,我可以早点解决这个问题。我希望这个答案对未来的其他人有用。