0

Drupal 7 に問題があります。「サーバー」という名前のコンテンツ タイプがあり、さまざまなフィールドが含まれています。

  • ホスト名
  • CPU速度
  • ...

フィールドのホスト名は手動で入力されます。その他のフィールドは、プログラム的に入力する必要があります。そのため、ホスト名を指定すると、関数は情報 (CPU 速度など) を検索し、空のフィールドに入力する必要があります。

しかし、ノードを更新できません。と の機能を試してみましhook_node_inserthook_node_insert。(1)の前と(2)の論文関数の使用後にノードを印刷すると、違いがわかります。しかし、ノードにアクセスすると、http://localhost/drupal/?q=node/32変更が消えてしまいました。

ここに私の機能の一部があります:

function module_node_presave($node) {
    if ($node->type == 'server') {

        dpm($node); //(1)
        $node->field_server_cpu_speed[LANGUAGE_NONE][0]['value']  = 55;
        dpm($node); //(2)

    }
}

誰かが私を助けることができますか?

よろしくお願いします、BDR

4

1 に答える 1

0

計算フィールドモジュールを試して動的フィールドを作成するかnode_save($node);、コードの最後に を追加してノードを保存します。

function module_node_presave($node) {
  if ($node->type == 'server') {
    $node->field_server_cpu_speed[LANGUAGE_NONE][0]['value']  = 55;
    node_save($node);
  }
}
于 2013-07-09T15:31:51.560 に答える