如何访问Drupal 7中节点中的字段。 我试过这个但是没有用。
$node=node_load($nid);
$node->field_num[LANGUAGE_NONE][0]['value']=$num;
我想我必须更加具体: 我首先创建一个节点并在某些字段上设置值,如下所示:
$values = array(
'type' => 'scorings',
'uid' => $user->uid,
'status' => 1,
'comment' => 0,
'promote' => 0,
);
$entity = entity_create('node', $values);
$ewrapper = entity_metadata_wrapper('node', $entity);
$entity->field_rond_nid[LANGUAGE_NONE][0]['value']=$nid_scorekort;
$entity->field_golfid[LANGUAGE_NONE][0]['value']=$form_state['values']['golfid_1'];
$ewrapper->save(true);
entity_save('node', $entity);
$nid=$entity->nid;
这很好用。然后我想从另一个函数(将nid传递给它)结束设置值到另一个字段(field_score_1)访问此节点。我试过这个:
$node=node_load($nid, 'my_content type');
$node->field_score_1[LANGUAGE_NONE][]['value'] = $my_value;
但这不起作用。 node_load的接缝不允许我访问字段。
答案 0 :(得分:0)
您的node_load()
来电不正确。
从node_load()
的Drupal API文档中,函数声明是:
node.module node_load($nid = NULL, $vid = NULL, $reset = FALSE)
您的第二个参数是字符串,而不是数字,因为$ vid将是。
如果node_load()
返回FALSE
,则表示失败。
也许您想要使用EntityFieldQuery()
代替?