2011-07-04 26 views
3

Drupal 7.xでは、nidとファイルフィールド名を指定すると、添付ファイルとしてアップロードされたファイル($ fidまたはオブジェクト)を取得しようとしています。そのノードに送信する。Drupal:nidとフィールド名から添付ファイルを取得する

Drupalは、アップロードされたファイルが「表示済み」に設定されている場合にのみ表示されますが、そのフィールドのすべてのファイルに対してこの操作を実行する必要があります。

私はこれを調査するのにかなりの時間を費やしましたが、新しいd7ファイルapiは、ドキュメントとコードの観点からはあいまいです。 IMHO、あまりにも多くの "drupalの魔法"が速く理解するために起こっている。

良い文書へのポインタおよび/またはソリューションに関する提案は非常に高く評価されています。

ありがとうございました。

+0

あなたが 'node.tpl.php'ファイルでこれを実行している場合は、すでに現在のノードにアクセスする必要があります。 '$ content ['field_attached_file'] ['items'] ['0'] ['value'];'などのようにファイルにアクセスすることができます。詳細については、[node.tpl.php documentation](http://api.drupal.org/api/drupal/modules_node_node.tpl.php)を参照してください。 – nmc

+0

@nmc nope。私はnode.tpl.phpでこれをやっていません。それはモジュールコードの一部です。さらに、ファイルの表示が無効に設定されている(確認していない)場合、そのファイルが移入されるとは思われません。とにかくコメントしてくれてありがとう。 –

+0

コードを呼び出す場所からファイルへのアクセス権があるかどうかを確認するには、[Devel module](http://drupal.org/project/devel)を使用してください( 'dpm($ノード) ')あなたがアクセスできるものを見るノード。 – nmc

答えて

0

あなたの質問は、私には少し不明瞭なようだが、私によるものの:

あなたはノードに接続されたすべてのファイルを取得したいです。 $node = node_load($nid);を実行してから、$node->field_name['LANGUAGE_NONE'/lang code]を確認してください。

これは、そのファイルフィールドを使用してアップロードされたファイルの配列を提供します。

ありがとうございます。

関連する問題