OpenCart Pagination对Specials无法正常工作

I'm using the default Specials page for OpenCart to display my Specials. I have no idea why the default pagination is not working properly.

If you look at the bottom of the page, it correctly reports that there are 163 specials; however, it only displays 30 products (15 in each page).

The only way I can display the products is by manually typing in ?limit=100 at the end of my URL. or hardcode $data['limit'] = 100; inside the getProductSpecials function of product model.

The pagination looks to be working fine on the category pages.

Has anyone else had issues with this?

There's an extension to fix this. Apparently it's a bug in Opencart yet to be fixed.

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=14040

Ran into this today, if anyone is curious still its fixed in 1.5.6.4. What happened is that the foreach in the controller was using $limit which was defined differently and wonked paginator. That extension above leaves the old one in, and defines another -- this is one of the few times where you should just hard edit your file and not use a vQmod.

Open store/catalog/controller/product/special.php and go near line 229. There is a loop foreach($limits as $limit)...change that whole snippet to match this (using $value instead of $limit). $value will ensure any mods are compatible:

foreach($limits as $value){
    $this->data['limits'][] = array(
        'text'  => $value,
        'value' => $value,
        'href'  => $this->url->link('product/special', $url . '&limit=' . $value)
    );
}