ダリの雑記:WEBプログラム版

【MT】カスタムフィールドのテンプレートタグ名によるバグ【PostgreSQL・SQLite】

この記事は公開から1年以上経過しており、内容が古くなっている可能性があります。

 

おこったバグ現象

まずカスタムフィールドにて、テンプレートタグ名「EntryProductImageData」という「画像」用フォームを作成。

次にテンプレートにて





と記述したところ、再構築時に以下のようなエラーが出ました。

エラー内容:EntryProductImageDataAssetタグを正しいコンテキストで使用していません。

もちろんMTEntriesタグの中で使ってますし、変な記述もしてないはずなんですが、記事作成・編集にて「EntryProductImageData」のカスタムフィールドに画像を登録すると必ずこのエラーが表示されてしまいます。

※ちなみに普通のレンタルサーバなどではこの現象は起きません。独自に専用サーバを立てているところに設置すると、まれにこのようなことが起きます。

 

解決方法

原因は全く分からなかったのですが、「そういえば以前も確か似たようなことあったなぁ。あの時は確かカスタムフィールドのテンプレート名に大文字を入れたのに勝手に小文字に変換されたんだっけ・・・」というのを思いだし、以下の対処方法を試しました。すなわち

テンプレートタグに大文字は使わない。

カスタムフィールドのテンプレートタグ名を「entry_product_image_data」に変更し、テンプレートの記述を





に変更したところ、正常に再構築され、サムネイルも表示されるようになりました。

ググってもなかなか原因が出てこないので焦りましたよ。

改めて「MT テンプレートタグ名 大文字」でググったらこんなページが。

カスタムフィールドのテンプレートタグを使うと、再構築でエラーが発生する | Movable Type 4 FAQ

そういえば以前発生した時はSQLiteで、今回のサーバはPostgreSQLだった・・・

なんてやっかいな・・・

カスタムフィールドのテンプレートタグ名を付けるときは大文字は使わないほうがよさそうですね。

モバイルバージョンを終了