ホーム >> 左脳Script >> Movable Type >> EvalTemplateの呪縛 再び

EvalTemplateの呪縛 再び


EvalTemplateは素晴らしいプラグインです。本当です。これほど便利で、記事の自由度が上がるプラグインは無いでしょう。
が、「余りにこれに依存した記事の書き方になれてしまうと、これが便利であった事すら忘れてしまうという大変おこがましい事態」になってしまいます・・・

実は、またまたフィード関連に問題が発生しました。 過去に公開された記事へのリンクに<$mt:Link$>を使ってリンクを張るのは、Movable Type 使用者なら常套手段であると思います。

<a href="<$MTLink entry_id="***"$>">リンクテキスト</a>

しかし私は、「記事のIDだけで、記事のタイトルまで出力してくれる」と言う理由で、以下のように<mt:Entries>でリンクを張っていたのです。

<mt:entries id="***"><a href="<$mt:entrypermalink$>"><$mt:EntryTitle$></a></mt:entries>

今回は、この記述に問題がある事が判りました。


ブログのフィード出力の部分に、記事の本文を出力する箇所があります。

<$mt:EntryBody encode_xml="1" eval="1"$>
<$mt:EntryMore encode_xml="1" eval="1"$>
当然、EvalTemplate の魔法のおまじない「eval=1"」も追記されています。

しかし、この追記があっても、前述の「<mt:entries>」の部分が、まったく出力されない(ヌル文字列になる。未知のタグとかではなく、無効なタグ?!)のです

何故?!「encode_xml="1"」指定の無い、普通のHtmlページ出力には、何の問題も無いと言うのに・・・


少々嫌な予感がして、「<mt:Pages>」も調べてみました。

<mt:Pages id="***"><a href="<$mt:PagePermalink$>"><$mt:PageTitle$></a></mt:Pages>
何故かこちらは「encode_xml="1"」が在っても「eval="1"」がしっかり機能します

<$mt:PageBody encode_xml="1" eval="1"$>
<$mt:PageMore encode_xml="1" eval="1"$>
こちらは、静的ページですので、基本フィードには現れないのですが・・・


「Eval Template encode_xml」などで検索してみても、このような現象に関する記事が見つかりません。いろいろ弄っているうちに、

「<mt:entries>」ではなく「<$mt:Link$>」を使うと、正しく記述通りの出力がされる

事が判りました。
仕方ないので、全てのブログ記事のリンク修正を行う羽目に・・・


動作に一貫性が無いので、"不具合"なんでしょうか。Movabls Type のバージョンは 4.25 です。

こんな状況に嵌っている方はそんなにいらっしゃらないかと思いますが、心当たりのある方は気をつけましょう。



トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/150

コメントする

ホーム >> 左脳Script >> Movable Type >> EvalTemplateの呪縛 再び

アーカイブ

このブログ記事について

このページは、n-yagiが2009年6月 8日 18:20に書いたブログ記事です。

ひとつ前のブログ記事は「Google ウェブマスター ツール ~タグ検索結果編~」です。

次のブログ記事は「Adsense再々々々々々申請?!」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。