| Windows7で突然ネットがつながらなくなった時の対処法メモブログトップ | CMS関連 | MTのパスワードの有効文字数は8文字まで!!
【MT】カスタムフィールドのテンプレートタグ名によるバグ【PostgreSQL・SQLite】
この記事は1年以上前の記事のため、内容が古い可能性があります。
- MTのバージョン:5.04
- データベース:PostgreSQL
- サーバ:独自の専用サーバ
おこったバグ現象
まずカスタムフィールドにて、テンプレートタグ名「EntryProductImageData」という「画像」用フォームを作成。
次にテンプレートにて
<mt:If tag="EntryProductImageData"> <mt:EntryProductImageDataAsset><$MTAssetThumbnailLink width="200" $></mt:EntryProductImageDataAsset> </mt:If>
と記述したところ、再構築時に以下のようなエラーが出ました。
エラー内容:EntryProductImageDataAssetタグを正しいコンテキストで使用していません。
もちろんMTEntriesタグの中で使ってますし、変な記述もしてないはずなんですが、記事作成・編集にて「EntryProductImageData」のカスタムフィールドに画像を登録すると必ずこのエラーが表示されてしまいます。
※ちなみに普通のレンタルサーバなどではこの現象は起きません。独自に専用サーバを立てているところに設置すると、まれにこのようなことが起きます。
解決方法
原因は全く分からなかったのですが、「そういえば以前も確か似たようなことあったなぁ。あの時は確かカスタムフィールドのテンプレート名に大文字を入れたのに勝手に小文字に変換されたんだっけ・・・」というのを思いだし、以下の対処方法を試しました。すなわち
テンプレートタグに大文字は使わない。
カスタムフィールドのテンプレートタグ名を「entry_product_image_data」に変更し、テンプレートの記述を
<mt:If tag="entry_product_image_data"> <mt:entry_product_image_dataAsset><$MTAssetThumbnailLink width="200" $></mt:entry_product_image_dataAsset> </mt:If>
に変更したところ、正常に再構築され、サムネイルも表示されるようになりました。
ググってもなかなか原因が出てこないので焦りましたよ。
改めて「MT テンプレートタグ名 大文字」でググったらこんなページが。
カスタムフィールドのテンプレートタグを使うと、再構築でエラーが発生する | Movable Type 4 FAQ
そういえば以前発生した時はSQLiteで、今回のサーバはPostgreSQLだった・・・
なんてやっかいな・・・
カスタムフィールドのテンプレートタグ名を付けるときは大文字は使わないほうがよさそうですね。
トラックバック
トラックバックURL
コメントする
※メールアドレスが公開されることはありません。