エントリーの中でMTタグを使う

エントリーの中でMTタグを使う

Posted at October 25,2005 12:30 AM
Tag:[EvalTemplate, MovableType, Plugin]

MTタグはテンプレートでの使用が前提となっており、エントリーの内容ではを使うことができません。例えば他のエントリーアーカイブページへのリンクや、画像を貼り付けてURLを記述する場合、メインページのテンプレートや各アーカイブテンプレートには、下記リストのように、

エントリーアーカイブページへのリンク

<a href="<$MTLink entry_id="678"$>">

画像のURL

<img src="<$MTBlogURL$>images/hogehoge.gif" alt="hogehoge" />

とMTタグを使った記述が可能ですが、エントリーの内容には、

エントリーアーカイブページへのリンク

<a href="http://www.koikikukan.com/archives/2005/10/24-011007.php">

画像のURL

<img src="//www.koikikukan.com/images/hogehoge.gif" alt="hogehoge" />

と、URLを直接書かなければなりません。
もしエントリーにMTタグを直接書くことができれば、エントリーアーカイブのPHP化を行った場合にファイル名を修正する必要がありませんし、ドメインを変更した場合もエントリーに書いたURLを修正する必要がなくなり、大変便利です。

ということで、エントリー内でMTタグが利用可能になるプラグインをご紹介します。
プラグイン配布元は下記です。

Life on the KernelMT::Plugin::EvalTemplate

以下、設定方法です。

2009.08.11 追記:MT4.1 から mteval モディファイアが標準機能として搭載されました。

1.プラグインのダウンロードおよびアップロード

配布元にある EvalTemplate のリンクをクリックしてダウンロードします。eval-template.txt というファイルがダウンロードされますので、ファイル名を eval-template.pl に変更し、それを plugins ディレクトリ直下にアップロードします。

2.テンプレート修正

テンプレートに記述されている MTEntryBody または MTEntryMore タグに eval 属性を付与します。本文でMTタグを使いたい場合は、MTEntryBody タグを探して

<$MTEntryBody eval="1"$>

と青色部分を追加するだけです。追記で利用したい場合は、MTEntryMore タグを

<$MTEntryMore eval="1"$>

に変更します。

これで「保存」をクリックし、テンプレートを保存します。これでエントリー編集画面に冒頭に挙げたようなMTタグを書き込んでみましょう。エントリーの保存・再構築後に記述したMTタグ、例えば <$MTBlogURL$> と書いたのであれば、URLに変換されていれば成功です。

ここではエントリー本文と追記のみについて書きましたが、このプラグインは Global Filter なので他のMTタグにも適用できるようです。ただし配布元で

間違っても Comments や Trackback で有効にしないように気を付けよう。

という注意書きがあります。例えば MTCommentBody でこの機能を有効にすると、投稿内容にMTタグを記述されるととんでもないことになる、という意味だと思いますので気をつけましょう。

2005.12.08
ダウンロードのファイル名を修正しました。

2006.11.21
配布元のリンクを修正しました。

関連記事
トラックバックURL


トラックバック

EvalTemplateを導入の巻 from LeapK.com
小粋空間さんで紹介されていた、エントリーの中でMTタグを使うのエントリで紹介で知った、EvalTemplateを導入することに。 中継サイト(ご紹介サイト様)は... [続きを読む]

Tracked on October 26, 2005 3:15 PM

エントリーの中でMTタグを使う from 今日の行方
■ エントリーの中でMTタグを使う 便利そうなのでメモ。... [続きを読む]

Tracked on October 27, 2005 12:00 PM

プラグイン:エントリー内でMTタグを使用可能に from ウェブデザイン LESSON5
サイト制作をしていると、どうしてもサイトオープン時に使用されるドメインとは違った... [続きを読む]

Tracked on November 1, 2005 10:12 AM

エントリー内でMovable Typeテンプレートタグを使う from Sunflower
エントリーの中で別のエントリーにリンクを貼る時、いちいち該当するエントリーの... [続きを読む]

Tracked on December 3, 2005 7:27 AM

エントリー内でMovable Typeテンプレートタグを使う from Sunflower
エントリーの中で別のエントリーにリンクを貼る時、いちいち該当するエントリーのUR... [続きを読む]

Tracked on December 4, 2005 5:21 AM

テンプレート試行錯誤 日付 from e建材屋.net
前回に書きましたが、ネットショップのエントリーには日付は不要なんですが、この店... [続きを読む]

Tracked on March 11, 2006 2:37 PM

エントリー投稿文中でMTタグを! from POWER BLOG SIDE
プラグインを導入して実装します。詳細はリンクを辿ってチェックしてちょ!(^^; [続きを読む]

Tracked on March 12, 2006 12:09 AM

エントリーの中でMTタグを使いたい from Tea Time Lover
MTを始めたころからよく思っていたこと…。 「なんでエントリーの中でMTタグが使... [続きを読む]

Tracked on May 5, 2006 10:09 AM

エントリー投稿でMovableTypeのテンプレートタグを使う! from 21世紀のアフィリエイト通販生活
使うプラグインはeval-templateプラグインです。... [続きを読む]

Tracked on May 11, 2006 2:27 AM

eval-templateを導入してみた from mistes.net
MTのエントリー内でMTテンプレートタグを使えたら便利だなと思って探してみたら、MTのエントリー内でMTテンプレートタグを使えたら便利だなと思って探してみたら、 [続きを読む]

Tracked on May 13, 2006 12:03 PM

エントリーの中でMTテンプレートタグを使う from インターネット*ノート
デフォルトではエントリーの中にMTテンプレートタグを使うことはできません。「テンプレートタグ」という名前のとおりテンプレートの中でしか使えないわけですね。 [続きを読む]

Tracked on March 18, 2007 5:30 PM

エントリー内でMTタグが利用可能になるプラグイン from arkhp
エントリー内でMTタグが利用可能になるプラグイン 標準でのエ... [続きを読む]

Tracked on October 2, 2007 6:53 PM

エントリーやウェブページ内でMTタグが使える「Templatize」プラグイン from CSS Lecture
エントリーやウェブページ内でMTタグが使えたら... っと悩んだ事があったんです... [続きを読む]

Tracked on May 27, 2008 12:59 PM

movable typeの実験blogにするために from MT実験場
MTのタグは基本的にテンプレート内でしか使えない。これでは、実験記事を書くには不... [続きを読む]

Tracked on July 6, 2009 12:12 AM
コメント

はじめまして。
ずいぶん前からいろいろカスタマイズを参考にさせていただいてます。

今回このプラグインを導入しようとしたのですが
プラグイン・エラーが出てしまいうまく導入できません・・・

MTのバージョン: Version 3.2-ja-2
Perl のバージョン:  5.00503

エラー内容:
 ロードに失敗しました。
 Compilation failed in require at lib/MT.pm line 552.

Mt.pmの552行目:
 eval { require $plugin };

です。
他のプラグインは利用可で動作しているのでアップ場所がおかしいとかではないと思うのですが・・・
何か分かりましたらご教示お願いします。

[1] Posted by shio : December 6, 2005 10:44 PM

>shioさん
こんばんは。
ご質問の件ですが、ダウンロードするファイル名の拡張子は .pl に変更されましたでしょうか。
あと考えられのはFTPの転送モードでしょうか。
ダウンロードをやり直すと回復した、という例もいくつか聞いています。
念のため、現在のものをダウンロードして 3.2-ja-2 で試してみたところ、正常に動作しました。

以上です。
それではよろしくお願い致します。

[2] Posted by yujiro : December 8, 2005 12:13 AM

MT初心者のりょうと申します。
本プラグインを使用してみました。

MT3.2のエントリーは「内容」「追記」「概要」「キーワード」から記事等記入できると思います。

小枠空間様の紹介の通り、

内容(Body)


追記(More)


ではMTタグ挿入可能でした。

そこでもう一息

概要(Excerpt)


と試してみたところ、「概要(Excerpt)」のHTML表示位置に「内容(Body)」がプラウザで表示され、概要部分の表示ができなくなりました。
このように概要の中にもMTタグを挿入することが可能なのでしょうか?
また、「キーワード」でMTタグ挿入は試していませんがこちらも可能なのでしょうか?

MTのバージョン:Version 3.2-ja-2
Perl のバージョン:5.8.3

まだ、BLOG自身もこのMTが初めてですし、これらを始めてまだ1ケ月程度の初心者ですのでPERLもまだ解読できないレベルです。

目的は本プラグインで「概要」の欄にカテゴリーMTタグを使って表示してみたいと思って探しているところです。

よろしくお願いします。

[3] Posted by りょう : December 9, 2005 8:05 PM

>yujiroさん
こんばんわ。
一旦削除をし、再度ダウンロード、リネーム(eval-template.pl)、転送(アスキー/無変換)、属性変更(755)を行ったところ
悪化?してしまいました・・・

Can't locate warnings.pm in @INC
(@INC contains: plugins/spamlookup/lib extlib lib /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 . /usr/libdata/perl/5.00503/mach /usr/libdata/perl/5.00503) at plugins/eval-template.pl line 19.
BEGIN failed--compilation aborted at plugins/eval-template.pl line 19.
 19行目 use warnings;

と出てしまい、該当行をコメントアウトして再度転送、ログ確認をしてみると

BEGIN not safe after errors--compilation aborted at plugins/eval-template.pl line 58.
  58行目 use MT::Util;

コメントアウトしたところ以下同じエラー内容で
  95行目 use MT::App::Search;
 105行目 use MT::Builder;
 106行目 use MT::Template::Context;
 129行目 no strict 'refs';
 130行目 no warnings 'redefine';
がエラーを出しました。

130行目までコメントアウトをすると

Compilation failed in require at lib/MT.pm line 552.

と・・・

use系がエラーを出しているあたり、どこかの設定がおかしいのでしょうか

うーん。
もうちょっとDLしたり上げたり消したりしてみます。

[4] Posted by shio : December 10, 2005 12:02 AM

>りょうさん
こんばんは。
ちょっと試してみたのですが、やはり同じ症状になりますね。
プラグインでMTEntryExcerptを操作しているようです(具体的な動作は不明)。
もし何か分かりましたらご連絡致しますが、作成者本人にお問い合わせされた方が良いかもしれません。

以上です。
それではよろしくお願い致します。

>shioさん
こんばんは。
経験上、perl エラーの内容と関係なく、根本的な手順で誤りがあると思われます(use warning はPerl 5.6.0以降の機能のようですので、該当するようであればバージョンの問題と思われます)。
なお転送モードはバイナリが良いと思いますが、色々と試してみてください。

[5] Posted by yujiro : December 11, 2005 3:17 AM

>yujiroさん

バージョンの問題 の可能性を指摘いただいて
バージョンの問題だったら手の打ち所がー!プロバイダどうにかしてくれよ!と思ってプロバイダのHPをみましたらですね。
perlのPATHが2つありまして、片方が今まで使用していた5.00503、もうひとつが5.8.0となっていたので
各cgiを5.8.0のPATHに直したところあっさり動作しました

お騒がせしました。

[6] Posted by shio : December 13, 2005 10:18 PM

>shioさん
こんばんは。
ご連絡ありがとうございました。
うまくできてなによりです。
ではでは!

[7] Posted by yujiro : December 14, 2005 1:35 AM

トラックバック失敗してごめんなさい。勝手に大変お世話になっております。
このコメントは削除して頂いて構いません。

[8] Posted by e建材屋.net : March 11, 2006 2:40 PM

>e建材屋.netさん
こんばんは。
お世話になります。
遅くなりましたが重複分は削除しておきました。
ご連絡ありがとうございました。

[9] Posted by yujiro : March 14, 2006 12:34 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)