Movable Type 備忘録

 

 CustomFieldsプラグイン活用術 - エントリ画面1

以前、CustomFieldsプラグインで投稿者画面カスタマイズについて紹介しました。 今回はエントリ画面のカスタマイズ例を紹介します。

MovableType(ムーバブルタイプ) 3.2用のCustomFieldsプラグインは配布を終了しているようです。 どうしてもMovableType(ムーバブルタイプ) 3.2で使いたい人は、わたしのところからお持ち帰りください。

また、MovableType(ムーバブルタイプ) 3.2で使用するにはBigPAPIプラグインも別途インストールする必要があります。

当サイトのツール・カテゴリでは、MovableType(ムーバブルタイプ)に限らず、便利そうなツール、おもしろそうなサイトなどを紹介しています。

そのサイトのサムネイルを必ず表示させているわけですが、毎回サムネイルをエントリページに表示するのが面倒だったので、URLを指定したら自動的にサムネイル表示するようカスタマイズしてみました。

わたしのカスタマイズのポイントはこんなかんじ。

  1. 指定サイトのサムネイルが投稿時に自動的に表示されること。
  2. 表示/非表示を任意に設定できること。

とりあえず、CustomFieldsプラグインがインストール済みとして話を進めていきます。 CustomFieldsプラグインのインストールについては投稿者画面カスタマイズページを参考にインストールを済ませてください。

エントリ画面にフィールド追加

まず、エントリ画面にフィールドを追加します。 MovableType(ムーバブルタイプ)管理画面のメイン・メニュー左にある「プラグイン」をクリックしてプラグイン一覧を表示します。

画面下の方にCustomFieldsプラグインがまとめて表示されているので、その中から「Custom Entry Fields」の右横にある「Custom Entry Fieldsを起動」をクリックしてください。

先ほどのカスタマイズのポイントから、以下のフィールドを追加しました。

  • URL: サムネイル表示するサイトのURL
  • URLEnable: URLの有効/無効を選択する。

基本的には投稿者画面でのフィールド追加と同じ要領ですが、カンタンに説明します。


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /virtual/bzbell/public_html/archives/2006/08/26-182948.php on line 95

Warning: include(http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/CustomFields2.gif&width=220&height=83&title=) [function.include]: failed to open stream: no suitable wrapper could be found in /virtual/bzbell/public_html/archives/2006/08/26-182948.php on line 95

Warning: include() [function.include]: Failed opening 'http://bizcaz.com/widget/litebox.php?url=http://bizcaz.com/image/zu/CustomFields2.gif&width=220&height=83&title=' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/bzbell/public_html/archives/2006/08/26-182948.php on line 95

右上にある「Create New Field」をクリックします。 そして、上記画面のように入力します。

赤い枠にはフィールド名を入力します。
このフィールド名は後でデータを表示するために使います。

青い枠にはフィールドの説明を入れます。
未入力でも問題ありません。

緑の枠には自動的に入力されるので、そのままでも問題ありません。
ただし、ここで入力された名称がタグ名称となるので、他プラグインと重複しないような名前になっている必要があります。 重複しそうな場合にはちょっと手を加えて( 適当な1文字を追加するとかね )あげてください。

黄色枠はフィールド追加するタイプを選択します。
ここではサイトのURLフィールドを追加したいので、「URL」を選択しています。

ピンクの枠は、追加したフィールドを入力必須とする場合チェックします。
ここチェックするとすべてのエントリでURLを入力しなくちゃならないので、かなり面倒です。 なので、ここではチェックを外しました。

一通り入力したら「Save Field」ボタンをクリックします。 この要領で他フィールドの追加を行っていきます。

個別エントリ・アーカイブをカスタマイズ

次に個別エントリ・アーカイブのテンプレートを編集します。 テンプレート内から<$MTEntryBody$>を探します。 このタグが投稿したエントリの本文に変換されます。 なので、今回のカスタマイズ例では、このタグの前に以下のコードを追加しました。

<MTEntryData field="URLEnable">
<MTEntryDataIfFieldValue>
<p class="thumbnail">
<MTEntryData field="URL">
<MTEntryDataIfFieldValue>
<a href="<$MTEntryDataFieldValue$>"><img src="http://img.simpleapi.net/small/<$MTEntryDataFieldValue$>" alt="" width="128" height="128" /></a>
<MTElse>
<img src="http://img.simpleapi.net/small/" alt="" width="128" height="128" />
</MTElse>
</MTEntryDataIfFieldValue>
</MTEntryData>
</p>
</MTEntryDataIfFieldValue>
</MTEntryData>
<$MTEntryBody$>

青い字の部分では、追加した"URLEnable"フィールドを指定して、その直ぐ下の赤い字の部分で、"URLEnable"フィールドがチェックされたかどうかを確認します。 チェックされていなければ、サムネイル表示はされないようになります。

緑の字の部分では、追加した"URL"フィールドを指定して、その直ぐ下の赤い字の部分で未入力かどうかを確認しています。 URLが入力されていれば、SimpleAPIでウェブサイトのサムネイル化で紹介したサムネイル表示するようにしました。 URLが入力されていなければ、"NO PHOTO"と表示するようにしています。

編集したら保存して再構築します。

エントリ編集画面から追加フィールドに入力

先ほど追加した各フィールドがエントリ編集画面から入力できるようになっています。

わたしの目的は、ツール・カテゴリ内のエントリのみ、紹介したサイトのサムネイルを自動表示させることなので、ツール・カテゴリ内のエントリの編集画面から、紹介したサイトのURLと、そのURLを有効にして再構築しました。 この作業をツール・カテゴリ内の各エントリで行います。

以降は、新規投稿時にサイトのURLとそのURLを有効をチェックするだけで自動的にサムネイル表示されるようになります。 でも、他のカテゴリに属するエントリには何も表示されません。

こんなかんじで、CustomFieldsプラグインを使ってエントリ画面をカスタマイズしていきます。

アフィリエイトしている人は、商品に関するフィールドを追加したりしてるようですよ。 また、MUSIC関連のブログさんでは、レーベル情報やジャケットのイメージ、アーティスト名などのフィールド追加してるみたい。

わたしの友人は属するカテゴリのイメージ表示させてました。 つか、わたしがやってあげたんだけど。

 Trackback Pings(0)

No trackbacks found.

 Comments(1)

#1: Posted by oscar [RES]

こんにちは。
CustomFieldsって結構ファンシーな色使いなんですね。
私はRightFieldsなんですが、入力のパターンもう少し増えないかなと思いませんか。
複数選択や、その場でリスト項目追加みたいな事できるとうれしいんですけどね。

 Post a Comment

コメント用フィード