html/template
Go パッケージ経由で投稿を表示するための html テンプレートを作成しようとしています。また、ページごとに 5 つの投稿を表示するために、自分のページにページネーションを作成したいと考えています。
そこで、投稿リポジトリから投稿数を取得し、それをページあたりの投稿数の値で割り、丸めます (ceil)。これは、現在利用可能な投稿のあるページの総数です。
ページの総数を html テンプレートに渡します。さて、私のhtmlテンプレートでは、ページボタンを1から合計数まで表示する必要があります。
パッケージには、パイプラインの操作方法に関するすばらしいドキュメントがありtext/html
ますが、単純なループを作成する例は見つかりませんでした。
私は解決策を得ましたが、それが良いものかどうかはわかりません。総ページ数だけでなく、利用可能なページの配列をテンプレートに渡すことができるので、私のテンプレートでは次のようなことができます:
{{range .pages}}
<div class="page"><a href="/posts/{{.}}">{{.}}</a></div>
{{end}}
しかし、ページの配列を渡すよりも良い方法があるのではないでしょうか? カスタム関数をテンプレートに渡す可能性についても知っています。それは解決策になるでしょうか?