1

如何在 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 的接缝不允许我访问这些字段。

4

1 回答 1

0

你的node_load()电话不正确。

node_load()来自函数声明的 Drupal API 文档是:

node.module node_load($nid = NULL, $vid = NULL, $reset = FALSE)

你的第二个参数是一个字符串,而不是一个数字,就像 $vid 那样。

如果node_load()返回 aFALSE则失败。

也许您想EntityFieldQuery()改用?

于 2013-02-24T18:29:20.927 回答