Joshua、Paginationライブラリをご利用いただきありがとうございます。申し訳ありませんが、期待どおりに動作していません。あなたの問題は最近投稿された機能リクエストに似ており、setFixedMaximumNumbersShownオプションをリクエストしていますが、ある種の弾力性のあるカウントとAmazonのページ付けのような弾力性がありますが、お気づきのように、レコードをページングするときにのみ大きくなります。これは自分で修正できますが、CFCの使用制限を少し広げる必要があります。
bouncyPagination.cfc
解決策は、私のコンポーネントを拡張するコンポーネント(それを呼びましょう)を作成することPagination.cfc
です。タスクを実行するには、少なくとも1つのメソッドをオーバーライドする必要があります。最初に、ExtendingPagination.cfcに関するドキュメントを読むことができます。役立つ場合があります。コードは次のようになります。
<cfcomponent extends="Pagination">
<cffunction name="renderNumericLinksHTML">
<!--- Your improved bouncy numeric links HTML generation here --->
<!--- Start by copying & pasting code from the matching --->
<!--- renderNumericLinksHTML method in Pagination.cfc --->
</cffunction>
</cfcomponent>
Pagination.cfc
renderNumericLinksHTML関数ののコードを見てください。コピーして貼り付けることから始めて、BouncyPagination.cfc
必要なロジックに基づいてこれらの数値リンクを書き込む方法を書き直します。いくつかのメソッドを追加して、数値の境界を取得および設定することもできます。この例で4
は、マジックナンバーでした。このようなものをコンポーネントに追加すると思います。
<!--- Set your new parameter's default by overriding the init method --->
<cffunction name="init">
<cfset variables.my.BouncyBounds = 4 />
<return super.init() />
</cffunction>
<!--- Create getter/setter. Note the rendered=false is a flag to force HTML recomposition when a UI option changes. --->
<cffunction name="getBouncyBounds">
<cfreturn variables.my.bouncyBounds />
</cffunction>
<cffunction name="setBouncyBounds">
<cfargument name="_BouncyBounds" type="string" />
<cfset variables.my.BouncyBounds = arguments._BouncyBounds/>
<cfset variables.my.rendered = false />
</cffunction>
新しいメソッドは、新しい弾むページネーションメソッドの境界をプログラムで変更するためにrenderNumericLinksHTML
呼び出されます。getBouncyBounds()
それがあなたのお役に立てば幸いです-これは私があなたのために宿題をせずに行く限りです。自分に合ったものを書いて、BSDライセンスと共有できる場合は、コードを送ってください。次のリリースに含めます。