フロントコントローラーは、見たいページの商品と商品数をsmarty変数に割り当てます。BestSalesController のBestSales Page の例:
$nbProducts = (int)ProductSale::getNbSales();
$bestSales = ProductSale::getBestSales($this->context->language->id, $this->p - 1, $this->n, $this->orderBy, $this->orderWay);
....
// then assign it to smarty
$this->context->smarty->assign(array(
'nbProducts' => $nbProducts,
'products' => $bestSales
));
フロントコントローラーでできる特別なことやカスタムなことは何もありません。
カスタムのページネーションを作成したい場合は、blocklayeredモジュールを見てください。
たとえば、関数のmodules/blocklayered/blocklayered.phpではajaxCall()
、次の行を編集して、「ページごとの製品数」のカスタム選択を指定できます。
$nArray = (int)Configuration::get('PS_PRODUCTS_PER_PAGE') != 10 ? array((int)Configuration::get('PS_PRODUCTS_PER_PAGE'), 10, 20, 50) : array(10, 20, 50);
この行には、10、20、50、およびBack-Office/Preferences/Productsで指定されたページあたりのデフォルトの製品数が表示されますが、必要に応じて変更できます。例:
$nArray = array(10, 20, 30, 40, 50, 60);
カスタマイズを行いたい場合は、このモジュールで行う必要がありますが、簡単ではありません (ファイルが 4200 行に達するので、頑張ってください!)。