このページの本文へ移動

hayase.tv

先日の記事でTimeSliceArchiveのリニューアルを行ったのですが、画像の呼び出しのために以下のJSONファイルをMTから出力しました。
https://www.hayase.tv/tsa/data/content.json

ここで最初なぜか表示されないなー、、、と試行錯誤したところポイントはここ

content_json_-_hayase_tv-2.png普通にMTEntriesをぶんまわしてしまうと、このJSONのデータ最後のとこに「,」カンマが入ってしまうのが原因だとわかりました。

それで、最後の記事だけ何々を表示する、といった情報は結構あるのですが逆に最後だけ表示しない、というのはなかなかありませんでしたが、以下のように記述することで解決しました。

}<MTIf name="__last__"><MTElse>,</MTElse></MTIf>

MTEntries内で最後の記事のときは何もいれない、それ以外のときはMTElseでカンマをいれると、、これで最後だけカンマが入らないようになり無事表示されました。

ちなみに以下がJSONを生成するためのテンプレートになります。

[
<mt:Entries lastn="999">{
"title": "<$mt:EntryTitle$>",
"category": "<mt:IfArchiveTypeEnabled archive_type="Category"><mt:If tag="EntryPrimaryCategory"><mt:EntryPrimaryCategory><$mt:CategoryLabel$></mt:EntryPrimaryCategory></mt:If></mt:IfArchiveTypeEnabled>",
"images": {
"thumb": "<mt:EntryAssets type="image" limit="1"><$mt:AssetThumbnailURL width="220"$>",
"large": "<$MTAssetURL$></mt:EntryAssets>"
},
"date": "<$mt:EntryDate format="%Y-%m-%d"$>"
}<MTIf name="__last__"><MTElse>,</MTElse></MTIf>
</mt:Entries>
]