モデルに添付ファイルを設定すると、1つのオブジェクトに複数の「添付ファイル」を追加できるようになります。添付ファイルを利用するには、モデルの設定画面のオプション「添付ファイル」にチェックを入れて、設定を保存します(attachmentfiles というリレーションカラムが作成されます)。
添付ファイルの実態は1対多のリレーションですが、他のオブジェクトの関連付けと異なり、以下の特徴があります。
添付ファイルオブジェクトが参照され、リレーションによって関連付けられるのは常に1つのオブジェクトからのみとなりますので、以下のような用途に向いています。
※公開された添付ファイルへのリンクを常にテンプレート・タグから出力するようにすれば(他のオブジェクトのリッチテキスト欄などでのリンクを設定しなければ)、ゴミファイルが残るのを防ぐとともに、リンク切れも防げます。
添付ファイル欄にファイルをドラッグ&ドロップします。
<mt:entryattachmentfiles include_draft="1">
ファイルの URL => <mt:attachmentfilefileurl />
ファイルの名前(ラベル・代替テキスト) => <mt:attachmentfilename>
ファイルのサムネイル => <mt:assetthumbnailurl name="file" width="120" />
</mt:entryattachmentfiles>
※参照元オブジェクトが保存され、添付ファイルオブジェクトが保存されるまで、アップロードした添付ファイルの情報は、プレビュー時にはビューに反映されません。
※include_draft タグ属性を付けない場合、下書きオブジェクトのプレビュー時に添付ファイル情報 が取得できません。
※モデル名+attachfiles ブロックタグでは、class タグ属性が利用できます。指定できる値は 「image」「video」「audio」「pdf」「file」です。
モデル「添付ファイル」に対するリレーション型のカラムを作成すると、同一モデルに複数の添付ファイルフィールドを設定できます。
リレーション型のカラムではなく、数値型のカラムを作成して、編集表示「リレーション」、モデル「添付ファイル」型のカラムを作成すると、バイナリ/ファイル型のカラムと同じインターフェイスで画像の編集などが可能な編集画面が作られます。
上の 2 つのカラムはまったく同じインターフェイスで、画像編集などまったく同じように動作しますが、上のカラムはバイナリ型カラム、下のカラムは数値型カラム、添付ファイルへのリレーションです。このカラムを活用することで、オブジェクトが肥大化して検索速度・パフォーマンス低下を最小限にしながら1つのオブジェクトに複数の添付ファイルをつけることができるようになります。