5

私は Drupal 7 フィールド API を使用しています。これは素晴らしいようです。「ユーザー」エンティティ タイプのカスタム フィールドを追加し、GUI で編集できます。

field_get_items($entity_type, $entity, $field)カスタムフィールドの値を取得するために使用します。

カスタム フィールドの値をプログラムで設定する必要があります。

それ、どうやったら出来るの?field_set_items()Drupal API ドキュメントのどこにも関数呼び出しが見つかりません。

4

1 に答える 1

7

フィールドの値を設定する関数はありません。通常、次のコードを使用してフィールドの値を設定できます。

$entity->$fieldname[$language][$delta] = $value;

すべてのフィールドで変更されるのは、渡す配列です$value。たとえば、ノードの body フィールドは次の構造を使用します。

array(
  'value' => 'Empty text. Revision 3.',
  'summary' => '',
  'format' => 'full_html',
  'safe_value' => '<p>Empty text. Revision 3.</p>',
  'safe_summary' => '',
);

分類用語に使用される構造は次のとおりです。

array(
  'tid' => 4,
);

$delta通常は 0 の値ですが、複数の値を持つフィールドの場合は、取得できる値の最大数 (特定のフィールドのユーザー インターフェイスで設定できます) を超えない限り、任意の値を持つことができます。 .
$languageは言語 ID で、 に設定することもできますLANGUAGE_NONE

于 2012-04-07T17:00:58.767 に答える