Craft CMS で検索結果やエントリを一覧するときなどにページ分割してくれるタグとして paginate タグがある。
{% paginate %} タグ | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...
この辺ちゃんと使ったことなかったのだけど、今回始めて触ってみたら便利すぎてびっくり。
ドキュメントにもある感じで
2019-07-19
Craft CMS で検索結果やエントリを一覧するときなどにページ分割してくれるタグとして paginate タグがある。
{% paginate %} タグ | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...
この辺ちゃんと使ったことなかったのだけど、今回始めて触ってみたら便利すぎてびっくり。
ドキュメントにもある感じで
{% set query = craft.entries().section('blog').limit(10) %} {% paginate query as pageInfo, pageEntries %} {% for entry in pageEntries %} <article> <h1>{{ entry.title }}</h1> {{ entry.body }} </article> {% endfor %}
でやればとりあえず分割できてしまう。
いやー、びっくり。
そのうえ、ページ分割したらpaginationのところを表示させないといけないのだけど、変数 pageInfo がまた便利。
{% paginate %} タグ | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...
前後のページのリンクとかはとりあえずおいておいて、分割したのが何ページで、何件目なのか、とかをこれだけで出せる。
{{pageInfo.total}}件中 {{ pageInfo.first }} - {{ pageInfo.last }}件表示
これまで、1ページに表示させる数がいくつで、今が何ページ目で、とかやって計算してたのがそれすらいらない。
flexibleSearch.js のその辺計算したなー、とか思い出しつつ、あまりに簡単すぎてびっくり。