« 制作現場の声が届かぬ IE@Microsoft | トップページ | WebKit が CSS 3 box-shadow に対応 »

2006-12-23

MT + RightFields でエントリーごとに任意のスタイル・スクリプトを関連づけ可能に

覚え書き・レビュー・実験型ブログの悩みの種

また、裏でちまちま準備している新しいブログからのネタです。

このブログのように、時々、実験やデモをするタイプのブログにつきものの悩みといえば、エントリー単位で一時的に CSS や JS ファイルを追加したい!というもの。要するにヘッダー(<head>〜</head>)の中身をイジりたくなるわけですね。ま、このココログフリーだと、ヘッダーの編集なんて全く縁のない話ですけど、思い当たる節のある方は、きっとたくさんいらっしゃるのではないでしょうか。

RightFields Plugin for MovableType

そこで準備中の新しいブログの方に、実験的に RightFields という MovableType プラグインを入れてみました。

入手先

設定が完了した状態

うまく設定できると、エントリーの投稿フォームがこんな感じになります。外部 css, js ファイルへのリンクと、ヘッダ内 style 要素が、エントリー単位で自由に編集できるようになります。(しかもファイルアップローダー付き。)

エントリー投稿フォームに新しい項目が追加された状態。

設定方法

RightFields そのものの設置方法は、配布元のドキュメントか、Web 上のリソース、『MOVABLE TYPE PLUGINS DIRECTORY』(毎日コミュニケーションズ)などを参照してください。(注: BigPAPI を有効にしていると動作しないという、痛恨の問題があるので、それだけ要注意です。)ここでは、設置完了後の設定の仕方だけ説明します。(手抜きですみません。(^v^;;) )

Extra Fields / Extra Entry Fields の設定

[Field], [カテゴリー]欄の名前は(ほかの MT タグと共合しない範囲で)お好みで。[Upload Path] はお使いのサーバー環境に合わせ、絶対パスで。

Extra Fields / Extra Entry Fields の設定

エントリーアーカイブ テンプレートの設定

<head>〜</head> 内であれば、どこでも構いませんが(僕はあとで探しやすいよう、ヘッダの末尾に記述してます)、以下のソースをエントリーアーカイブのテンプレートに埋め込みます。強調表示している場所に、さきほど [Field] 欄に設定したフィールド名を記入します。

<MTExtraFields>
<MTIfExtraFields>
<MTIfExtraField field="extraStyle">
<style type="text/css"><!--
<$MTExtraFieldValue field="extraStyle"$>
--></style>
</MTIfExtraField>
<MTIfExtraField field="extraCss">
<link rel="stylesheet" href="<$MTBlogURL$>css/<$MTExtraFieldValue field="extraCss"$>" type="text/css" />
</MTIfExtraField>
<MTIfExtraField field="extraJavaScript">
<link rel="stylesheet" href="<$MTBlogURL$>scripts/js/<$MTExtraFieldValue field="extraJavaScript"$>" type="text/css" />
</MTIfExtraField>
</MTIfExtraFields>
</MTExtraFields>

RightFields の Templat Tags の設定で独自タグ名を定義している場合は、<$MTExtraFieldValue field="extraCSS"$> を、<$MTextraCss$>(独自タグ名)に変えることもできます。

ここまで面倒な形にしなくても、ヘッダーの編集欄だけ用意して、あとは手打ちコードで済ませればいいじゃん、という意見も出てきそうですけど(これだけなら、実は追記欄を転用して <$MTEntryMore$> をヘッダー内に埋め込むという邪道な手段もあるんですよね。(笑) BigPAPI がどうしてもはずせないという方は、検討の価値アリかもしれません)、個人的な好みとして、上記のようなやり方のほうが、よりコーディングミスを起こしにくいという意味でスマートかな..と。

でも、これでエントリーごとに、invalid なコードを書かずに、色々と実験できるようになるのは嬉しいです。(^-^ )b

今回は説明が雑ですみません。たとえお一人でも、ご要望があれば、説明を修正ないし書き足します。(- -;;ゞ

|

« 制作現場の声が届かぬ IE@Microsoft | トップページ | WebKit が CSS 3 box-shadow に対応 »

[Web]その他」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/15394/4650020

この記事へのトラックバック一覧です: MT + RightFields でエントリーごとに任意のスタイル・スクリプトを関連づけ可能に:

« 制作現場の声が届かぬ IE@Microsoft | トップページ | WebKit が CSS 3 box-shadow に対応 »