我正在使用Drupal 7字段API,这似乎很棒:我可以为“用户”实体类型添加自定义字段,并在GUI中进行编辑。
我使用field_get_items($entity_type, $entity, $field)
来获取自定义字段值。
我现在需要以编程方式设置自定义字段的值。
我该怎么做?我在Drupal API文档中找不到field_set_items()
函数调用。
答案 0 :(得分:7)
没有设置字段值的功能。您通常可以使用以下代码设置字段的值。
$entity->$fieldname[$language][$delta] = $value;
每个字段的更改是您在$value
中传递的数组。例如,节点的主体字段使用以下结构。
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
。