1

インストール プロファイルを使用して複数のフィールドを作成した後、許可されたファイル拡張子をインストール プロファイルに追加する方法を見つけようとしています。これまでの私のコードは次のとおりです。

'name' => 'attachment',
'type' => 'file',
'settings' => array(
    'allowed_file_extensions' => array('txt pdf'),
),

allowed_file_extensions は、機能するかどうかを確認するための単なるテストでしたが、致命的な PHP エラーが発生しません。(** PHP の致命的なエラー: サポートされていないオペランド型** )

フィールドでファイル拡張子を追加するにはどうすればよいですか?

PS:インスタンスに設定を入れてみましたが、同じエラーが発生します。

4

1 に答える 1

2

わかりました、私はこの 3 日間、この問題を抱えていました。この質問を投稿してから数時間後、問題を解決しました。

ここで同じ質問や問題を抱えている人にとって、私にとってそれを解決したものと、設定を追加する正しい方法は何ですか. 設定はインスタンスごとに異なる可能性があるため、設定はフィールド自体ではなくインスタンスの作成時に行われます。

これがどのように想定されているかの例を次に示します。

$instance = array(
    'field_name'    => 'file'
    'entity_type'   => 'node',
    'bundle'        => 'article',
    'label'         => 'Attachment',
    'description'   => 'Add an attachment here',
    'required'      => TRUE,
    'settings'      => array(
         'max_filesize'    => '512',
         'file_extensions' => 'zip txt pdf docx'
    ),
);
field_create_instance($instance);

設定フィールドは必須ではありませんが、一度に複数のフィールドとインスタンスを生成するため、foreach を使用していました。これを行い、生成されたフィールド インスタンスの 1 つで設定を行っている場合は、すべてのインスタンスで設定を追加するか、それを確認する必要があります。あるかないか。

私の経験が、同じように悩んでいる方の助けになれば幸いです。

于 2013-10-10T11:10:07.197 に答える