CustomFields で入力項目の追加

MovableTypeを使ってデーターベース的な使い方をしたい場合は「CustomFields plugin」が威力を発揮します。

タイトル・エントリーの内容・概要・キーワードが基本的な入力項目ですが、欲しい項目を自由にプラスできるのがこのプラグインです。

データーベースとして使用

入力項目を自由に追加でき、入力された項目も個別で自由に配置することができます。 その為、書籍のデーターベースや映画データーベースなどMTの用途が広がります。 また、天気アイコンの追加や広告の掲載など工夫次第で便利に使えます。

CustomFields を導入する。

まずはこちらからCustomFields pluginをダウンロード。 名前とURLを登録すると、メールでダウンロードURLが送られてきます。 一番最初のURLをクリックすると、ダウンロード画面にいけます。

ダウンロードして解凍すると以下のフォルダが現れます。

これをそのままMTをインストールしているフォルダへアップします。
その後、
plugins/CustomFields/
以下の
author_archive.cgi authors.cgi categories.cgi entries.cgi
パーミッションを755に設定。
これでインストールは完了です。

次に、メイン・メニュー > システム・メニュー > プラグイン を確認します。

上記が確認できればプラグインのインストールは完了です。


Edit Custom Entry Fields


次は項目の追加です。
ブログトップに下記のようなメニューが出現しますので、Edit Custom Entry Fieldsをクリックします。

Edit Custom Entry Fields のページは全て英語ですが、Create New Fieldを押して新規作成をします。

新規作成画面では、いくつかの入力項目があります。

1.フィールド名 英語で記述します。項目の英語名。
2.Description フィールド名の説明のような項目。
  →日本語をそのまま入力するとエラーになりますので、私は数値実体参照に変換しました。
3.テンプレートタグ。自動入力されます。
4.入力欄のタイプです。用途に合わせて使います。
5.必須項目にするか?のチェックボックスです。

一通り入力が終わったらCreate a Field を押して完了です。
任意の項目が追加されました。
いくつか登録すると以下のようになります。


新規エントリー


ここまでできたら、新規エントリーをクリックします。
すると、入力欄の下の方に追加された項目が出現します。
※項目を出すには、エントリー画面の「画面の表示設定を変更」のCustomにチェックを入れましょう。

あとは、入力して保存するだけでデータに追加されます。
表示がズレる場合は、FireFoxを使った方がいいかもしれません。
また、入力項目部分はCSSでデザイン変更ができます。


テンプレートに追加


入力したデータを実際のブログに反映させるには、テンプレートに項目を追加する必要があります。
追加方法は以下のようなタグをテンプレートに入れるだけです。
Field名を変更することで任意の項目を反映できます。

出版社:<MTEntryData field="EntryDataPublisher"><MTEntryDataFieldValue></MTEntryData>
ISBN:<MTEntryData field="EntryDataISBN"><MTEntryDataFieldValue></MTEntryData>
HP:<MTEntryData field="EntryDataURL"><MTEntryDataFieldValue></MTEntryData>

■<MTEntryDataIfFieldValue>を活用すると、データがあるときだけ表示させることができます。
例)
<table>
<MTEntryData field="EntryDataPublisher">
<MTEntryDataIfFieldValue>
<tr>
<td>出版社</td>
<td><MTEntryDataFieldValue></td>
</tr>
</MTEntryDataIfFieldValue>
</MTEntryData>
</table>


あとがき


CustomFields はMTを拡張させる素晴らしいプラグインです。
実際に導入テストをして、うまくいかない点としては、
・書き出しには追加項目が反映されない。
・追加項目はサイト内検索の対象外。
などです。
ただ、これらは改造で対処できそうな感じです。
まだ深く使いこなしていませんが、色々可能性があるプラグインです。

●技術メモ
エントリー画面の「Fields marked with an asterisk * are required」を消すには
/plugins/CustomFields/lib/CustomFields/
Entries.pm
の該当部分を消す。

エントリー画面の入力部分のカスタマイズは、
/plugins/CustomFields/tmpl/
list-custom-fields.tmpl

○参考
絵文禄ことのは:デーサイに一歩近づけるMovable TypeプラグインRightFields
Movable Type 4989:CustomFields plugin はカスタマイズ界の Bigbang


« BACK |

MovableType

最近のエントリー