2012-07-17 5 views
11

私は30分インターネットで検索しましたが、見つけられませんでした。適切なDrupal 7形式のapi managed_fileチュートリアルはありますか?

D7でmanaged_fileフォームapiを使用してアップロードイメージファイルを使用できるようにしたいと思います。具体的には、「#upload_validators」プロパティは、可能であれば、アップロード前にファイル拡張子を検証するためのトリックを行うか、少なくとも検証フェーズで検証しますが、送信機能では検証しないと考えています。私はexampleモジュールでimage_exampleとfile_exampleをチェックしましたが、適切な使用法を見つけることはできません。

managed_fileに適切なチュートリアルがあるのだろうか?どうもありがとう。

アップデート:私はfile.field.incからDrupalのディレクトリで検索を行った後の例を見て、たとえば次のように、このようなコードを書いた:

$form['file_upload'] = array(
    '#type' => "managed_file", 
    '#title' => t("Upload"), 
    '#descripion' => t("Only Image Files are allowed."), 
    '#progress_indicator' => "bar", 
    '#upload_location' => "public://img/dish", 
    "#upload_validators" => array("file_validate_extensions" => "png gif jpg"), 
); 

これは、問題を解決しました。ここで

+0

http://drupal.stackexchange.com/questions/5393/how-do-i-set-allowedを参照してくださいから取られたよう#upload_validatorsを含み、使用中のmanaged_fileフィールドの例です管理されたファイル形式フィールドの拡張子 – nmc

+0

@nmc:あなたの返信に感謝します。 – songyy

+0

受け入れられた答えに正しく表示されるので、ファイル拡張子は 'array(" png gif jpg ")'として与えられなければなりません。告知を受け取り、妥当性確認はあなたが期待することをしません。 – berliner

答えて

8

https://drupal.stackexchange.com/a/5630/1103

$form['picture']['file'] = array(
    '#type' => 'managed_file', 
    '#title' => t('picture'), 
    '#description' => t('Allowed extensions: gif png jpg jpeg'), 
    '#default_value' => (isset($foo->picture->fid) ? $foo->picture->fid : ''), 
    '#upload_location' => variable_get('picture_upload_location'), 
    '#upload_validators' => array(
    'file_validate_extensions' => array('gif png jpg jpeg'), 
    // Pass the maximum file size in bytes 
    'file_validate_size' => array(MAX_FILE_SIZE*1024*1024), 
), 
);