MTAppjQuery の mt:Foreach タグを使う場合と MT 標準のタグでやる場合を比較してみた

2019-10-21
3分で読了
更新: 2025-12-26

目次

あまり知られていないかもしれませんが、MTAppjQuery では mt:Foreach タグというのと mt:NestVar タグというのを提供していて、これらを使うととても効率よくハッシュや配列を扱うことができます。

これを使う場合と使わない場合でどんな感じに使うのか、非常にシンプルな例で比較してみました。ついでに alfasado/mt-plugin-speed-meter プラグインを使って再構築時のパフォーマンス比較も。

共通

==================================================

共通

=================================================
{
 "data": [
 { "id": "01", "name": "テスト01" },
 { "id": "02", "name": "テスト02" },
 { "id": "03", "name": "テスト03" },
 { "id": "04", "name": "テスト04" },
 { "id": "05", "name": "テスト05" },
 { "id": "06", "name": "テスト06" },
 { "id": "07", "name": "テスト07" },
 { "id": "08", "name": "テスト08" },
 { "id": "09", "name": "テスト09" },
 { "id": "10", "name": "テスト10" }
 ]
}

mt:Foreach タグ無しの場合

==================================================

mt:Foreach タグ無し

=================================================


mt:Foreach タグ無し

  • :

配列なので mt:For タグで処理します。

mt:Foreach タグを使う場合

==================================================

mt:Foreach

=================================================

mt:Foreach

  • :

けっこうスッキリしますし、分かりやすいですよね。シンプルな例だからちょっと便利さが分からないかもしれませんが、もしハッシュの入れ子が深くなったら、かなり効果を発揮します。

元の JSON の要素数を500にしてパフォーマンスを比較

  • 'mt:Foreach タグ無し'をビルドしました。処理時間: 0.077099084854126
  • 'mt:Foreach タグあり'をビルドしました。処理時間: 0.0434930324554443

mt:Foreach を使った方が、使わない場合の半分ちょっとの時間で再構築が終わりました。

実は管理画面のカスタマイズだけではない MTAppjQuery なのです!

この記事をシェア

関連記事