如何使用字段API设置字段值?

Kei*_*Jr. 4 php drupal drupal-7 drupal-field-api

我正在使用Drupal 7字段API,这似乎很棒:我可以为"用户"实体类型添加自定义字段,并在GUI中进行编辑.

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

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

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

kia*_*uno 7

没有设置字段值的功能.您通常可以使用以下代码设置字段的值.

$entity->$fieldname[$language][$delta] = $value;
Run Code Online (Sandbox Code Playgroud)

每个字段的更改是您传入的数组$value.例如,节点的主体字段使用以下结构.

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

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

array(
  'tid' => 4,
);
Run Code Online (Sandbox Code Playgroud)

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