【问题标题】:How do I set a field value with the field API?如何使用字段 API 设置字段值?
【发布时间】:2012-04-20 18:45:50
【问题描述】:

我正在使用 Drupal 7 字段 API,这看起来很棒:我可以为“用户”实体类型添加自定义字段,并在 GUI 中进行编辑。

我使用field_get_items($entity_type, $entity, $field) 来获取自定义字段值。

我现在需要以编程方式设置自定义字段的值。

我该怎么做?我在 Drupal API 文档的任何地方都找不到 field_set_items() 函数调用。

【问题讨论】:

    标签: php drupal drupal-7 drupal-field-api


    【解决方案1】:

    没有设置字段值的函数。一般可以通过如下代码设置字段的值。

    $entity->$fieldname[$language][$delta] = $value;
    

    每个字段的变化是您传入$value 的数组。例如,节点的 body 字段使用如下结构。

    array(
      'value' => 'Empty text. Revision 3.',
      'summary' => '',
      'format' => 'full_html',
      'safe_value' => '<p>Empty text. Revision 3.</p>',
      'safe_summary' => '',
    );
    

    用于分类术语的结构如下。

    array(
      'tid' => 4,
    );
    

    $delta是一个通常为0的值,但是对于具有多个值的字段,它可以有任何值,只要它不高于它可以获得的最大值数(可以在用户中设置)特定字段的接口)。
    $language是语言ID,也可以设置为LANGUAGE_NONE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多