4

NodeAPIフック(など)を介してカスタムコンテンツタイプを実装するモジュールがありhook_insertますhook_update。このコンテンツタイプにCCKフィールドを追加し、createやupdateなどのhook_nodeapi呼び出しを介してデータを入力します(ビューにコンテンツノードを表示するため)。

問題は、このコンテンツタイプのCCKフィールドにアクセスできないことです。field_flag確かに、[フィールドの管理]ページで有効になっていますが、このタイプのノードをDevelモジュールでロードすると、ノードオブジェクトにフィールド属性()が表示されません。のように「コンテンツ」属性の一部として「開発レンダリング」タブの下に表示されますが、または$node->content['field_flag']['#value']に値を割り当てて呼び出すと、CCKフィールドは保存されません。$node->field_flag$node->content['field_flag']['#value']node_save

たぶん私はCCKフィールドを保存するために他の関数を呼び出さなければなりませんか?または、この設定の何が問題になっている可能性がありますか?

4

1 に答える 1

3

私はその分野が

$node->field_flag[0]['value']

Drupal 6ではそのようになっており、フィールドの実際の名前やテーブルのフィールド名には従いません。フィールドが何であるかを確認する簡単な方法は、ノードに入力してから、ノードをダンプしてその構造を確認することです。これにより、node_saveで期待されている名前が付けられます。私はしばらくの間Drupal5を使用していませんが、遠く離れることはできません。あなたは近くにいます。

于 2010-03-22T15:30:08.517 に答える