Editing Items Per Page

I can’t seem to display 96 items per page. If I use ajax pagination, I’ll get an internal server error trying to display 96 items per page. Without ajax pagination, items per page won’t go over 48 (but no error). I’m willing to just omit the 96 page option.

Where can I change the logic that generates the values in my store’s drop down list for Items Per Page.

I set my value in the admin settings for 12 products per page, then the drop down increments that values to 24, 48, 96 (12 x 2, 12 x 4, 12 x 8).

I can’t find where this is calculated.

Does anyone know?

What hosting environment are you using? Its possible the server cant cope…


The function below controls the pagination steps, as default it is set to 4. Not sure why this value is hard-coded and there isn't an option to select a value alongside number of products per page in the appearance settings. Anyhow…

function fn_get_product_pagination_steps()
$min_range = Registry::get('settings.Appearance.columns_in_products_list') * 4;
$max_ranges = 4;
$steps = array();
for ($i = 0; $i < $max_ranges; $i++) {
$steps[] = $min_range;
$min_range = $min_range * 2;
$steps[] = (int)Registry::get('settings.Appearance.products_per_page');
$steps = array_unique($steps);
sort($steps, SORT_NUMERIC);
return $steps;

You will want to change the value for “$max_ranges = 4;”, you may also want to change how the steps are calculated by changing the $min_range multiplier but the root problem seems to be down to your server configuration.

Thank you for your assistance. I realize the problem is with the configuration of my server. I run on a dedicated server and I've tried everything I know to increase performance, but I still can't get CS-Cart to display 96 products per page - much less to do it rapidly. And you know, once 96 items per page is set, it applies to all views - this can totally hose my users' experiences.

The other reason I'm changing the max range to 3 is that Google tries to index these pages and all my Google Index Errors are caused by these links to “96 items per page” throwing “500” errors (while I was on ajax pagination).

I'll tell you, I've tried every tweak on this forum. Even installed Xcache on the server. I can't get the response time down to what I think is appropriate. I suspect that the mySQL server is the real culprit.