delicious! newsing! buzzurlにブックマーク! Yahoo!ブックマーク ライブドア - この記事をクリップ! このエントリーを含むはてなブックマーク

[Movable Type 3.2] ダイナミック・パブリッシングを行うとMT変数をphpの変数に代入できない

2006/5/16 (Tue) at 3:04 pm

聞いてないぞコノヤロ!
よくいますね。自分のミスを怒ってごまかそうとする人 ... 恥。知らなかったなぁ。本日、長年の疑問が氷解しました。既知の仕様だったのですね。

MTにこれから触れる方も多いと思うんで要約を書いときます。ダイナミック・パブリッシングというのは、htmlを動的に吐き出すというMTのクールな機能のひとつです。あたかも「abc.html」という書類にアクセスしているように見せつつも、その書類はじつはサーバに存在せず、php&modrewriteの機能を使って動的にgenerateされるという機能。サイトの再構築が速く、またSEO的にもよろしいということでじつに便利です。導入も簡単。必要な.htaccessは勝手に生成してくれるので、apacheの設定に不慣れな方でも簡単に行えます。(BerkeleyDB環境では使えません)

という便利なダイナミック・パブリッシングなのですが、こんな欠点があったとは知りませんでした。私がマニュアル読まないから悪いんですが。

MT変数というのはMovableType独自のタグで、テンプレートの中で使用するものです。たとえば<$MTEntryTitle$>と書いておくと、エントリのタイトルがそこに挿入されます。今回、私がハマったのは、つまり、「ダイナミック・パブリッシング環境においては、このMT変数によって得られた値をphpの変数に代入することができない」ということだったのでした。ダイナミック・パブリッシングを使うとphpを使えなくなるという意味ではありませんのでお間違えなく。

(例)

<?php

$string = "<$MTEntryTitle$>";
echo $sting;

?>

と書くと、ダイナミック・パブリッシングの場合は、"MTEntryTitle"という文字列が出てきてしまう。スタティックだとそのタイトル名が出力される。

幸いなことに、MTの設定にはそれぞれのテンプレート毎にダイナミックかスタティックかを選べるようになっていますので、これで対処することができました(すべてをスタティックにしなければならぬという事態にはならない)。

マニュアル読まないといかんですね!でもSixApartのヘルプはほんとにわかりにくいんですもん。

※ダイナミックでやりつつこれを回避する裏ワザなんてあるんでしょうか。なんかありそうな気がする。ご存知の方いましたらプリーズ!

delicious! newsing! buzzurlにブックマーク! Yahoo!ブックマーク ライブドア - この記事をクリップ! このエントリーを含むはてなブックマーク

add your comment!
2006/5/16, 4:24 PM
コメント アロー! one-px-ffffff-br one-px-ffffff-tr one-px-ffffff-bl one-px-ffffff-br

ダイナミックでやりつつこれを行うには、プラグインを自作すればよいのでしょうか。私、オブジェクト指向に不慣れなもので(恥)、それも荷が重いです。

one-px-ffffff-tr one-px-ffffff-bl one-px-ffffff-br

コメント・プリーズ!

お名前 (your name)
(required)
url
(optional) ※公開されます。
メールアドレス (email)
(optional) ※公開されません。管理者にだけわかります。
コメント (comment)
(required)

※クッキーに保存すると次回から入力を省略できるので便利ですが、お使いのコンピュータに情報が残りますので、公共のパソコンなどからアクセスするような場合はチェックをはずしたほうがよいでしょう。

※コメント中のhtmlタグは実体参照に変換されます。たとえば、『<』は『&lt;』というかんじになりますのでhtmlタグをそのまま書き込んでくださってオッケーです。

one-px-ffffff-tl one-px-ffffff-tr one-px-ffffff-bl one-px-ffffff-br

PROFILEcaption

藤居ヒロヤ。ウェブデザイナー/ウェブディレクター。ウェブデザインオフィス、3OT NET主宰。名古屋市中区。「優しいデザイン」「激しいデザイン」「正しいデザイン」「セクシーなデザイン」「泣けるデザイン」「もっともなデザイン」... 。あなただけのウェブデザインを丹精込めておつくり致します。見積り依頼等、お気軽にお問い合わせ下さい。

お問い合わせフォーム

RECENT ENTRIEScaption

RECENT COMMENTScaption

TOOLScaption

BOOKMARKScaption

RESOURCEScaption

ARCHIVEcaption