Movable Type 4.1 カスタムフィールドのデータの実体
先日、「Movable Type カスタムフィールドの DB スキーマ」というエントリーを投稿しましたが、「実体がどこにあるか分かりません」という質問を頂きましたので、本エントリーにて紹介致します。
ブログ記事/ウェブページの場合
テーブル名:mt_entry
| フィールド | フィールドの意味 | 値 | 値の意味 |
|---|---|---|---|
| entry_class | クラス | ブログ記事:entry ウェブページ:page | |
| entry_meta | カスタムフィールドデータ | BLOB型(バイナリ) |
カテゴリー/フォルダの場合
テーブル名:mt_plugindata
| フィールド | フィールドの意味 | 値 | 値の意味 |
|---|---|---|---|
| plugindata_id | プラグインデータID | 1,2… | 自動付与 |
| plugindata_data | カスタムフィールドデータ | BLOB型(バイナリ) | |
| plugindata_key | システムオブジェクトのキー情報 | ”category_1" "folder_3"等 | システムオブジェクト+ID |
| plugindata_plugin | プラグイン名 | "CustomFields"固定 |
ということで、カスタムフィールドに設定されたデータは BLOB 型で保存されるので、phpMyAdmin ではそのまま参照することはできません。
カテゴリー/フォルダの場合は次のような感じです。

参考までに、phpMyAdmin での2つのテーブル構造のスクリーンショットも載せておきます。
mt_entry
mt_plugindata
カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン 0.02
先日公開した「カスタムフィールドによるアップロード画像をサムネイルで表示するプラグイン」をパワーアップして、アップロード時にアイテムのオプション画面をハンドリングするようにしてみました。
これで、カスタムフィールド用のテンプレートタグを使った画像表示でも、サムネイル画像を自動的に生成してブログ記事に表示することができます。
1.プラグインのダウンロード
下記のリンクをクリックしてプラグインをダウンロードします。
- 2008.02.17 v0.03:script error になるバグを改修しました。
プラグイン開発やサポート等にご支援・ご賛同くださる方からの寄付をお待ち申し上げます。
上記の「Make a Donation」のリンクをクリックすると Paypal によるお支払いページにジャンプします。
2.プラグインのアップロード
ダウンロードした VisibleCustomFieldImage.zip を解凍して、中にある VisibleCustomFieldImage.pl を plugins ディレクトリにアップロードします。「VisibleCustomFieldImage.pl」が表示されればOKです。

3.使い方
予め作成している、画像用カスタムフィールドの「imageを選択」をクリック。

「新しい画像をアップロード」をクリック(またはアップロード済の画像を選択して「次へ」をクリック)。

新しい画像をアップロードする場合は「参照」をクリック。

アップロードしたい画像選択後、「アップロード」をクリック。

オプション画面が表示されます(これが今回の追加部分)。
機能はファイルアップロードのオプション画面と同じですが一応掲載しておきます。
- ブログ記事に画像を表示:チェックすればカスタムフィールドに画像を表示します。
- サムネイルを利用:サムネイルを自動生成します(Image::magickがインストールされていないと表示されません)
- ポップアップウィンドウで元の大きさの画像にリンクします。:カスタムフィールドで表示したテキストリンクまたは画像リンクをクリックすると、ポップアップウィンドウで元画像を表示します。
- 位置: カスタムフィールドで表示した画像の位置を指定します。
「完了」をクリックすると、サムネイル画像が管理画面に表示されます。なお、オプションの組み合わせによっては画像の代わりに「表示」というテキストリンクになる場合もあります。

ブログ記事を投稿すると、予めテンプレートに設定していたカスタムフィールドのテンプレートタグ部分にサムネイル画像が表示されます。

アイテムの一覧を表示すると、サムネイル画像やポップアップがすべて管理対象になっています。

5.ライセンス
MTOSにはカスタムフィールドはありませんが、先のことを考えてデュアルライセンスにしておきます。
5.1 MT4.1個人ライセンス/MT4.1商用ライセンスと組み合わせる場合
- 無料で利用できます。
- 改変・再配布は自由ですが、改変して再配布する場合、原作者のクレジットを必ず残してください。
5.2 MTOSと組み合わせる場合
- 無料で利用できます。
- GPLv2に従います。
2008.02.17
0.03 にバージョンアップしました。
Movable Type カスタムフィールドの DB スキーマ
Movable Type 4.1 のカスタムフィールドの DB スキーマについてご質問を頂きましたので、本エントリーにて示します。
テーブル名:mt_field
| フィールド | フィールドの意味 (対応する項目) | 値 | 値の意味 (対応する項目) |
|---|---|---|---|
| field_id | mt_field内でユニークなID | 1,2… | 自動付与 |
| field_basename | ベースネーム | 名前が英数字であればそのまま利用、全角の場合は_1,_2… | |
| field_blog_id | カスタムフィールドを利用するブログID | ||
| field_default | 既定値 | ||
| field_description | 説明 | ||
| field_name | 名前 | ||
| field_obj_type | システムオブジェクト | entry | ブログ記事 |
| page | ウェブページ | ||
| category | カテゴリ | ||
| folder | フォルダ | ||
| field_options | オプション([種類]に依存) | ||
| field_required | 必須 | 0 | 必須でない |
| 1 | 必須 | ||
| field_tag | テンプレートタグ | ||
| field_type | 種類 | text | テキスト |
| textarea | テキスト(複数行) | ||
| checkbox | チェックボックス | ||
| url | URL | ||
| datetime | 日付と時刻 | ||
| select | ドロップダウン | ||
| radio | ラジオボタン | ||
| asset | アイテム | ||
| asset.audio | オーディオ | ||
| asset.video | ビデオ | ||
| asset.image | 画像 | ||
phpMyAdmin のスクリーンショットも掲載しておきます。

