エントリーの中でMTタグを使う
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 Kernel:MT::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
配布元のリンクを修正しました。
- ブログ記事ページでその記事以外のブログ記事一覧を表示する方法
- MTEntriesタグをテンプレートで複数使う時に記事を重複させない方法
- Movable Type5.2のTinyMCEを5.1のボタンに戻す方法
- Movable Typeで製品情報のテーブルを作る
- Movable Typeのブログ記事ページのファイル名に日別の通番を振る
- 予定日を過ぎたブログ記事を「最近のブログ記事」に表示しない
- mt-csv2customfields v0.03
- 複数ブログのブログ記事を時間順に1件ずつ表示する
- Movable Type のブログ記事にフラグメント識別子(ページ内リンク)を設定する
- 特定のカテゴリーに属するブログ記事一覧を表示する(改)
- Movable Type 4 でカテゴリー別にブログ記事ページのデザインを切り替える方法(その2)
- Movable Type 4 でカテゴリー別にブログ記事ページのデザインを切り替える方法(その1)
- ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版・改)
- ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版)
- 概要と本文を切り替える(Movable Type 4・デフォルトテンプレート版)
≫ EvalTemplateを導入の巻 from LeapK.com
小粋空間さんで紹介されていた、エントリーの中でMTタグを使うのエントリで紹介で知った、EvalTemplateを導入することに。 中継サイト(ご紹介サイト様)は... [続きを読む]
≫ エントリーの中でMTタグを使う from 今日の行方
■ エントリーの中でMTタグを使う 便利そうなのでメモ。... [続きを読む]
≫ プラグイン:エントリー内でMTタグを使用可能に from ウェブデザイン LESSON5
サイト制作をしていると、どうしてもサイトオープン時に使用されるドメインとは違った... [続きを読む]
≫ エントリー内でMovable Typeテンプレートタグを使う from Sunflower
エントリーの中で別のエントリーにリンクを貼る時、いちいち該当するエントリーの... [続きを読む]
≫ エントリー内でMovable Typeテンプレートタグを使う from Sunflower
エントリーの中で別のエントリーにリンクを貼る時、いちいち該当するエントリーのUR... [続きを読む]
≫ テンプレート試行錯誤 日付 from e建材屋.net
前回に書きましたが、ネットショップのエントリーには日付は不要なんですが、この店... [続きを読む]
≫ エントリー投稿文中でMTタグを! from POWER BLOG SIDE
プラグインを導入して実装します。詳細はリンクを辿ってチェックしてちょ!(^^; [続きを読む]
≫ エントリーの中でMTタグを使いたい from Tea Time Lover
MTを始めたころからよく思っていたこと…。 「なんでエントリーの中でMTタグが使... [続きを読む]
≫ エントリー投稿でMovableTypeのテンプレートタグを使う! from 21世紀のアフィリエイト通販生活
使うプラグインはeval-templateプラグインです。... [続きを読む]
≫ eval-templateを導入してみた from mistes.net
MTのエントリー内でMTテンプレートタグを使えたら便利だなと思って探してみたら、MTのエントリー内でMTテンプレートタグを使えたら便利だなと思って探してみたら、 [続きを読む]
≫ エントリーの中でMTテンプレートタグを使う from インターネット*ノート
デフォルトではエントリーの中にMTテンプレートタグを使うことはできません。「テンプレートタグ」という名前のとおりテンプレートの中でしか使えないわけですね。 [続きを読む]
≫ エントリー内でMTタグが利用可能になるプラグイン from arkhp
エントリー内でMTタグが利用可能になるプラグイン 標準でのエ... [続きを読む]
≫ エントリーやウェブページ内でMTタグが使える「Templatize」プラグイン from CSS Lecture
エントリーやウェブページ内でMTタグが使えたら... っと悩んだ事があったんです... [続きを読む]
≫ movable typeの実験blogにするために from MT実験場
MTのタグは基本的にテンプレート内でしか使えない。これでは、実験記事を書くには不... [続きを読む]
はじめまして。
ずいぶん前からいろいろカスタマイズを参考にさせていただいてます。
今回このプラグインを導入しようとしたのですが
プラグイン・エラーが出てしまいうまく導入できません・・・
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 };
です。
他のプラグインは利用可で動作しているのでアップ場所がおかしいとかではないと思うのですが・・・
何か分かりましたらご教示お願いします。
>shioさん
こんばんは。
ご質問の件ですが、ダウンロードするファイル名の拡張子は .pl に変更されましたでしょうか。
あと考えられのはFTPの転送モードでしょうか。
ダウンロードをやり直すと回復した、という例もいくつか聞いています。
念のため、現在のものをダウンロードして 3.2-ja-2 で試してみたところ、正常に動作しました。
以上です。
それではよろしくお願い致します。
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タグを使って表示してみたいと思って探しているところです。
よろしくお願いします。
>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したり上げたり消したりしてみます。
>りょうさん
こんばんは。
ちょっと試してみたのですが、やはり同じ症状になりますね。
プラグインでMTEntryExcerptを操作しているようです(具体的な動作は不明)。
もし何か分かりましたらご連絡致しますが、作成者本人にお問い合わせされた方が良いかもしれません。
以上です。
それではよろしくお願い致します。
>shioさん
こんばんは。
経験上、perl エラーの内容と関係なく、根本的な手順で誤りがあると思われます(use warning はPerl 5.6.0以降の機能のようですので、該当するようであればバージョンの問題と思われます)。
なお転送モードはバイナリが良いと思いますが、色々と試してみてください。
>yujiroさん
バージョンの問題 の可能性を指摘いただいて
バージョンの問題だったら手の打ち所がー!プロバイダどうにかしてくれよ!と思ってプロバイダのHPをみましたらですね。
perlのPATHが2つありまして、片方が今まで使用していた5.00503、もうひとつが5.8.0となっていたので
各cgiを5.8.0のPATHに直したところあっさり動作しました
お騒がせしました。
>shioさん
こんばんは。
ご連絡ありがとうございました。
うまくできてなによりです。
ではでは!
トラックバック失敗してごめんなさい。勝手に大変お世話になっております。
このコメントは削除して頂いて構いません。
>e建材屋.netさん
こんばんは。
お世話になります。
遅くなりましたが重複分は削除しておきました。
ご連絡ありがとうございました。