MTSetVarにpushする前に変数を初期化するときのスタティックとダイナミックの違い

2014-02-11
1分で読了
更新: 2025-12-14

目次

Movable Type で MTSetVar に function="push" して配列を作っていくとき、事前に変数を初期化というか宣言しておくことがあります。

ことのき、以下のように書くと、スタティックパブリッシングだと問題ありませんが、ダイナミックパブリッシングだと「'mtlover' is not an array.」のようなメッセージでエラーになります。



これは1行目の value="" で文字列として初期化してるのが原因なので、value="" を削除して、



というようにすればエラーはでなくなります。

まあ、変数を初期化しなくても良いのですが、「この後こういう変数を使うよ」というのは宣言しておいた方がテンプレートが見やすくなると思います。

2015/10/14 追記:ダイナミックの場合は初期化しないで function="push" するとエラーになりました。なので、最初の

は必須のようです。

以上、豆知識として。

この記事をシェア

関連記事