エントリーの表示には、迷わずエントリーサマリーを使う

a-blog cmsを使い始めた頃の自分に、伝えたい内容です。
一覧ページや、関連エントリーの表示ではエントリーサマリー(Entry_Summary)を使いましょう、というメモです。


エントリー系のモジュール、どれを使おうかなと迷いながら制作してました。
エントリーを表示したいとき、次の5つが候補になるでしょう。

  • エントリーボディー
  • エントリーリスト
  • エントリーフォト
  • エントリーヘッドライン
  • エントリーサマリー

a-blog cmsを使い始めた頃、この中でどれを使えばいいか、いちいち検討して使っていました。

※ここで言う「エントリーを表示する」とは、詳細ページ以外でエントリを表示することを想定しています。
※エントリーカレンダーとか、位置リストとか、用途が明確なエントリー系モジュールは他にもあります。


エントリーサマリーを最初に使えば良い


今回のメモで言いたいのは、エントリーサマリーを迷わず最初に使えば良いってことです。
エントリーリストや、エントリーヘッドラインなど、モジュールは他にもあるけれど、迷わないで良いよと。
特に自分が手がける規模の案件や、プロトタイピングでは、迷わずエントリーサマリーで良いと思います。

結果はシンプルなのですが、この結論に至るまで、なんやかんやありました。


パフォーマンスの問題は小さかった


エントリーサマリーは、エントリーリストに比べて、表示にかかる時間が長いです。
しかしその差は、多くの場合で気にしなくて良い程度の差でした。
もちろんベストなのはエントリーリストである、という場合もあります。
しかしエントリーサマリーを使っても、それほどパフォーマンスに影響が出ない・・・ということの方が多かったです。


最初からエントリーサマリー使えば変更に強い


次にテンプレートのメンテナンス性についてです。
こちらについては、むしろ最初からエントリーサマリーを使ったほうがいいな・・・ということがあります。
エントリーリストを使った後で、表示する内容を増やしたいためにエントリーサマリーに変更した、ということが過去に何度かありました。

「Q&Aコンテンツで、Qだけ表示させてたけど本文も表示したい」など。
それなら、最初からエントリーサマリーを入れておけば、プロトタイピング中は便利というわけです。
たしかにテンプレートの記述は、無駄に長くなることがあります。でも変更に耐えやすい方がいいなぁというのが、最近思うことです。

「プロトタイピング中はサマリーだったけど、納品時にはリストにしました」みたいな、清書のようにエントリーリストを使うのは丁寧な仕事だと思います。


エントリーボディーと比べたエントリーサマリー


「大は小を兼ねる」という意味では、エントリーサマリーではなくエントリボディーを使えば良い、という考え方もあるかもしれません。
しかしエントリボディーは、他のモジュールと比べて違う点があります。


第一にパフォーマンスが違います。


「エントリサマリーでも、エントリボディーでも問題ない」と言う表示があったとします。
どちらも表示はできるもののエントリーボディーを使うと、実行時間が無視できないくらいかかってしまう、ということがありました。
基本的にエントリーボディーモジュールは、1つの記事を表示するときにだけ使う。
エントリーサマリーで表示できない場合にだけ、使用を検討するという考え方が良いかなって思います。

実行時間はベンチマークモードで確認してました。

モジュールIDの引数が便利なのは、エントリーサマリー


エントリーボディーの引数設定は、他のモジュールとは違い点があります。
それはエントリーIDを指定すると、その他の引数の条件が無視される仕様です。
そのため例えば、エントリーボディーの引数指定では「エントリーID」と「フィールド」のand条件での抽出ができません。

そういうわけでエントリーを表示するときは、迷わずエントリーサマリーを使えば良いのではないか、と思った次第です。
そうすればプロトタイピング→公開→運用と、表示したい内容が変わっても対応しやすく、パフォーマンス的にも問題ないです。

※エントリーボディーの仕様はVer. 2.7.30時点のもの。(2018-02-19)

次のステップとしてはレイアウトモジュールとか、自家製のsetTemplateをこさえて、変更に耐えやすくするのが良さそうなので、やってみたいです。


投稿者名 すずきカレー 投稿日時 2018年02月18日 | Permalink