2017-08-28 12 views
2

HTMLページに多くの項目をリストする必要があります。理由の中で一度に表示する項目が多すぎます。私は、Ectテンプレートでページャを処理するためにEctoで動作するツールを見てきました。しかし、私のコントローラーでは、このデータを外部データソースから取得しており、Ectoで照会することはできません。下のテンプレートファイルinventory.html.eexEcto-ElixirとPhoenixを使用しないEEXテンプレートのページャ

<div class="section-content"> 
 
    <div class="section-row"> 
 
    <div class="section-cell"> 
 
     <h3> Current Inventory: </h3> 
 
     <table class="table"> 
 
     <thead> 
 
      <tr> 
 
      <th>Product Title</th> 
 
      <th>Product ID</th> 
 
      </tr> 
 
     </thead> 
 
     <tbody> 
 
     <%= for product <- @products do %> 
 
      <tr> 
 
      <td><%= product["title"] %></td> 
 
      <td><%= product["id"]%></td> 
 
     </tr> 
 
     <% end %> 
 
     </tbody> 
 
     </table> 
 
    </div> 
 
    </div> 
 
</div>

このデータの改ページを処理するための良い解決策は何ですか?

答えて

4

scriviner_htmlライブラリをテンプレートのページネーションヘルパーに使用できます。 これはコントローラから%Scriviner.Page{}構造体を移入し、それをrenderに渡すだけです。

Page構造体は非常に簡単ですので、あなたは、外部ソースからのリストやAPIレスポンスからそれを取り込むことができます。

defstruct [:entries, :page_number, :page_size, :total_entries, :total_pages] 
関連する問題