将数据添加到附加到 drupal 7 中节点的日期字段

发布于 2024-12-03 10:30:24 字数 512 浏览 1 评论 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 相关的东西。

请帮忙。

I need to add data to a datetime field in drupal 7. I am tryin to use

$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';

where $val has the value "2010-06-15T00:00:00-00:00".

When i try to import the content, all the other fields attached to the node get migrated properly, except the date field.I have also tried using [LANGUAGE_NONE] option.

I am sure i am missing out something that is related to drupal7 field api.

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫轩蝶泪 2024-12-10 10:30:25

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'
  )
);

希望有帮助

The structure of fields in Drupal 7 (in this context) is:

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

The delta is handled by the key of each of the arrays inside $array['language_code'] so you don't need to include it. In your case you want the code to look like this (assuming of course you're passing the node through node_save() afterwards):

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

Hope that helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文