ページングツールバーのmoveNextメソッドとmovePreviousメソッドをオーバーライドする必要があります。これらのメソッドでは、PHPに渡す必要のあるすべてのカスタムパラメーターを含むオブジェクトを渡すことができます。
/**
* Move to the next page, has the same effect as clicking the 'next' button.
*/
moveNext : function(){
var me = this,
total = me.getPageData().pageCount,
next = me.store.currentPage + 1;
if (next <= total) {
if (me.fireEvent('beforechange', me, next) !== false) {
me.store.nextPage({
// all the custom params should go here
param1 : 'value1'
});
}
}
}
これで現在の問題を簡単に修正できますが、前/次のページがストアからフェッチされるたびにストアがこれらのカスタムパラメータを提供する一般的な修正が必要な場合は、loadPageメソッドをオーバーライドして、そこにカスタムパラメータを追加できます。
loadPage: function(page, options) {
var me = this;
me.currentPage = page;
// add your custom params
options = Ext.apply({
param1 : 'value1'
}, options);
// Copy options into a new object so as not to mutate passed in objects
options = Ext.apply({
page: page,
start: (page - 1) * me.pageSize,
limit: me.pageSize,
addRecords: !me.clearOnPageLoad
}, options);
if (me.buffered) {
return me.loadToPrefetch(options);
}
me.read(options);
}
参照:
http://docs.sencha.com/ext-js/4-1/source/Paging.html#Ext-toolbar-Paging
http://docs.sencha.com/ext-js/4-1/source/Store.html#Ext-data-Store-method-nextPage