添付ファイル機能

モデルに添付ファイルを設定すると、1つのオブジェクトに複数の「添付ファイル」を追加できるようになります。添付ファイルを利用するには、モデルの設定画面のオプション「添付ファイル」にチェックを入れて、設定を保存します(attachmentfiles というリレーションカラムが作成されます)。

モデルのオプション欄

添付ファイルの実態は1対多のリレーションですが、他のオブジェクトの関連付けと異なり、以下の特徴があります。

  • オブジェクトにステータスカラムがあるとき、有効・無効もしくは、公開ステータスと連動します
  • 参照元オブジェクトが無効もしくは公開以外のステータスの時、ファイルは出力されません
  • 参照元オブジェクトが有効化された時、公開された時、同時にファイルが出力されます
  • 参照元オブジェクトが削除された時、添付ファイルオブジェクトも同時に削除されます

添付ファイルオブジェクトが参照され、リレーションによって関連付けられるのは常に1つのオブジェクトからのみとなりますので、以下のような用途に向いています。

  • IR 情報、決算公告などの公開と同時に PDF ファイルを公開する
  • キャンペーンの開始と同時にバナー画像を公開する
  • ファイルとページを同時公開した後、ページが削除された時にゴミファイルが残るのを防ぐ※

※公開された添付ファイルへのリンクを常にテンプレート・タグから出力するようにすれば(他のオブジェクトのリッチテキスト欄などでのリンクを設定しなければ)、ゴミファイルが残るのを防ぐとともに、リンク切れも防げます。

オブジェクトに添付ファイルを付ける

添付ファイル欄にファイルをドラッグ&ドロップします。

添付ファイル欄

  • ドラッグ&ドロップした添付ファイルは、参照元オブジェクトを保存するまで保存されません
  • 参照元オブジェクトが保存され、添付ファイルオブジェクトが保存されるまで、添付ファイルの URL は設定されません
  • 「ビュー」アイコンまたは「ダウンロード」アイコンをクリックすると、添付ファイルの内容を見たり、確認できます
  • 「鉛筆」アイコンをクリックすると、添付ファイルに代替テキストやラベルに使える「名前」を設定できます(名前が設定されるのは添付元オブジェクトを保存した時です)
  • 「×」アイコンをクリックすると、参照元オブジェクト保存時に添付ファイルを削除します
  • ドラッグ&ドロップで、添付ファイルの出力順を設定することが可能です

添付ファイルの情報をテンプレート出力する(記事の場合)

<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」です。

一つのモデルに複数の添付ファイル欄を設定する

モデル「添付ファイル」に対するリレーション型のカラムを作成すると、同一モデルに複数の添付ファイルフィールドを設定できます。

  • カラム名/ラベル : 任意の名前
  • タイプ : リレーション
  • 編集表示 : リレーション
  • モデル : 添付ファイル
  • カラム : 「名前」
  • タイプ : 「添付ファイル」

モデルと添付ファイルとの 1 対 1 の関連付け

リレーション型のカラムではなく、数値型のカラムを作成して、編集表示「リレーション」、モデル「添付ファイル」型のカラムを作成すると、バイナリ/ファイル型のカラムと同じインターフェイスで画像の編集などが可能な編集画面が作られます。

上の 2 つのカラムはまったく同じインターフェイスで、画像編集などまったく同じように動作しますが、上のカラムはバイナリ型カラム、下のカラムは数値型カラム、添付ファイルへのリレーションです。このカラムを活用することで、オブジェクトが肥大化して検索速度・パフォーマンス低下を最小限にしながら1つのオブジェクトに複数の添付ファイルをつけることができるようになります。