0

我需要将数据添加到 drupal 7 中的日期时间字段。我正在尝试使用

$node->field_test_a_updated[0]['value'] = $val;
$node->field_test_a_updated[0]['delta'] = 0;
$node->field_test_a_updated[0]['timezone'] = 'UTC';
$node->field_test_a_updated[0]['timezone_db'] = 'UTC';
$node->field_test_a_updated[0]['date_type'] = 'datetime';

其中 $val 的值为“2010-06-15T00:00:00-00:00”。

当我尝试导入内容时,附加到节点的所有其他字段都会正确迁移,日期字段除外。我也尝试使用 [LANGUAGE_NONE] 选项。

我确定我错过了与 drupal7 字段 api 相关的内容。

请帮忙。

4

1 回答 1

0

Drupal 7(在此上下文中)中的字段结构是:

array(
  'language_code' => array(
    0 => array(
      'value => $val,
      'other_column_value' => $other_val
    )
  )
);

由内部每个数组的delta键处理,$array['language_code']因此您不需要包含它。在您的情况下,您希望代码看起来像这样(当然假设您之后要传递节点node_save()):

$node->field_test_a_updated[LANGUAGE_NONE] = array(
  0 => array(
    'value' => $val,
    'timezone' => 'UTC',
    'timezone_db' => 'UTC',
    'date_type' => 'datetime'
  )
);

希望有帮助

于 2011-09-07T09:52:15.190 回答