0

hook_form_alterにアクセスする必要のあるcckフィールドがあるので、特定のフィールドのデフォルト値を動的な値で設定できます。

どうやら、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 に答える