Page Top

MT5 モジュール名で_(アンダースコア)を使った名前にして、この値を別のテンプレートで呼び出すと、HTML側で改行されるー自分用覚書

January 9, 2010

タイトルのままですが、MT5にて、数字などの値をモジュール(Blog_IDなどのモジュール名)化し、このモジュールを別のテンプレートで<MTInclude module="Blog_ID">などとして呼び出すと、なぜか、HTML側のコーディングで改行されてしまいます。(ブラウザ上では改行されていません。)

MT4では、上記の仕方で値を、検索のIncludeBlogsの対象にして大丈夫でしたが、MT5では、パラメータが不正です、というエラーがどうしても出てきてしまい、当初、問題が何なのか分からず、あれや、これやと、色々試していたところ、やっとわかりました。

ポイントは、モジュール名にアンダースコア「_」を使った名前を付けると、値が渡される時、改行される症状がでるみたいなので、アンダースコア「_」を使わない名前、例えば、上記例の分だとBlogIDなど、と付けると大丈夫になるようです。

【追記:2010年1月27日】
上記の方法で大丈夫だと思ったのですが、やっぱり改行されてしまうようで、MTの方は無事に動くのですが、HTMLの文法エラーになってしまうので、その後も解決策をあれやこれやと探していた所、MTのグローバルモディファイアに「strip_linefeeds (値に 1 を設定すると、Movable Type タグの値から改行コード (キャリッジリターンおよびラインフィード) を除きます。)」というものがあることを発見し、おぉ~~~こんなものがあったとは~~!これを問題の箇所に付け加えると、あっさり問題解決しました。これに一体何週間時間がかかったことか・・。普段使わなくても、色々なタグを知っておくことは大切だなと思いました。。

最新記事