0

我有一个 cck 字段,我需要在我的 hook_form_alter 中访问它,所以我可以使用动态值设置某个字段的默认值。

显然, node_load 不适合我。

   if ($form_id == 'some_form_id') {
    $node = node_load($item->nid); 
    $somevariable = $node->field_cck_foo[0]['value'] * 2;
    $form ['xxx']['xxx']['#default_value'] = $somevariable; 
}

我如何能够访问节点项目,以便我可以在 hook_form_alter 中使用它?请指教。谢谢。

4

2 回答 2

1

node_load() 将为您获取所有 CCK 字段值,尝试执行 var_dump 以查看发生了什么。

如果 node_load() 没有带来完整的节点结构,请尝试使用此解决方法清除缓存http://drupal.org/node/158237#comment-4593950

于 2012-10-25T18:25:17.520 回答
0

对于 D7:

$arg = arg();
if($arg[0] == 'node' && !empty($arg[1])) {
    $node = node_load(arg(1));
}
于 2017-04-23T07:20:11.973 回答