Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 以编程方式创建drupal节点并设置自定义选择列表字段_Php_Drupal - Fatal编程技术网

Php 以编程方式创建drupal节点并设置自定义选择列表字段

Php 以编程方式创建drupal节点并设置自定义选择列表字段,php,drupal,Php,Drupal,我有一个带有自定义字段的Drupal7节点。我对设置单个文本字段的值没有问题,但我不确定如何将我的选择列表字段设置为该字段允许的键之一 这是我试图将选择列表分配给“挂起”键的代码 $node->field_referee_status['und'][0]['tid'] = 'pending'; 节点创建代码: // CREATE NODE $node = new stdClass; $node->type = 'referee'; $node->title = 'Refere

我有一个带有自定义字段的Drupal7节点。我对设置单个文本字段的值没有问题,但我不确定如何将我的选择列表字段设置为该字段允许的键之一

这是我试图将选择列表分配给“挂起”键的代码

$node->field_referee_status['und'][0]['tid'] = 'pending';
节点创建代码:

// CREATE NODE
$node = new stdClass;
$node->type = 'referee';
$node->title = 'Referee report for xx';
$node->uid = $user->uid;
$node->status = FALSE;
$node->field_referee_status['und'][0]['tid'] = 'pending';
$node->field_referee_id['und'][0]['value'] = 'test';
$node->field_testff['und'][0]['value'] = "testworked";
node_object_prepare($node);
node_save($node);
问题:当以编程方式创建Drupal节点时,是否有人知道将键值分配给自定义选择列表字段的正确方法?

尝试增量0(增量)

ie
$node->field_reference_status['und'][1]['value']='approved'

这应该行得通

改变

$node->field_referee_status['und'][0]['tid'] = 'pending';

而不是为
“$node->field\u reference\u status['und'][0]['tid']]”传递“挂起”文本。
。请尽量在这里通过tid。您可以使用以下函数获取“待定”术语的tid

语法:

taxonomy_get_term_by_name($name);
i、 e

$node->field_referee_status['und'][0]['value'] = 'pending';
taxonomy_get_term_by_name($name);
$term = taxonomy_get_term_by_name('pending');
$node->field_referee_status['und'][0]['tid'] = $term->tid;