I haven't looked at the mod recommended in the earlier post, but here's my two cents anyway.
First regarding the restriction on the number of records, I'm pretty sure the value you want to change is in Configuration\Maximum values\New Products Module. This will reduce the products displaying here, unless you've removed or otherwise edited code in the new_products.php module.
As far as pagination is concerned, I have implemented this fairly quickly with results I retrieve for some custom forms I built. I tried doing it quickly to see if it would work in the new products module, but it failed for me for two reasons. First, I couldn't quite figure out how to split the results and randomise them at the same time. Probably if I spent some time, but don't have it to spend. Secondly, the query became malformed when trying to split the results, although this technique worked on simpler queries in the past. I suspect it may have something to do with the left joins, but who knows, perhaps you'll have more luck so I'll show you what I did anyway, in case you want to have a play around.
First you would need to set the aforementioned New Products Module to something quite high (e.g. 9999) and then pass this query into the splitPageResults() function. you would do this in the new_products.php module, so look for the line below:
PHP Code:
if ($new_products_query != '') $new_products = $db->ExecuteRandomMulti($new_products_query, MAX_DISPLAY_NEW_PRODUCTS);
comment this out, and add the following immediately before or after it:
PHP Code:
if ($new_products_query != '') {
$new_products_split = new splitPageResults($new_products_query, 6);
$new_products = $db->Execute($new_products_split->sql_query);
}
the number 6 here refers to the number of results you want on each 'page'. once you're done here, find the template file tpl_modules_whats_new.php, and add the following code to see paginated results below or above your results:
PHP Code:
<div class="navSplitPagesLinks forward"><?php echo TEXT_RESULT_PAGE . ' ' . $new_products_split->display_links(MAX_DISPLAY_PAGE_LINKS, $page_query . zen_get_all_get_params(array('page', 'info', 'x', 'y', 'main_page'))); ?></div>
<div class="navSplitPagesResult"><?php echo $new_products_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></div>
as i stated earlier, this didn't quite work for me but it should in theory if you play around with either the query in the module file itself, or probably more appropriately the splitPageResults() function as this seems to be where the query is altered, and subsequently malformed. i have it working with other more simple queries and found it quite useful.
hope this helps!
andrejs