Netzfischer Posted June 23, 2016 Share Posted June 23, 2016 hello, I am trying to limit the maximum number of products per page. However, whatever I try (I have found some tipps already), the selector which determines the number of products per page will always also allow me to select the maximum number of products available in this category. See the attached JPG to understand which selector i mean. Where can I limit this? Page loading time is way to long if all products can be shown... many thanks for your help, roland Link to comment Share on other sites More sharing options...
NemoPS Posted June 24, 2016 Share Posted June 24, 2016 If you want to remove that, you need to edit the template. In the theme folder, pagination.tpl, here is the code you want to remove: {if $nb_products > $products_per_page && $start!=$stop} <form class="showall" action="{if !is_array($requestNb)}{$requestNb}{else}{$requestNb.requestUrl}{/if}" method="get"> <div> {if isset($search_query) AND $search_query} <input type="hidden" name="search_query" value="{$search_query|escape:'html':'UTF-8'}" /> {/if} {if isset($tag) AND $tag AND !is_array($tag)} <input type="hidden" name="tag" value="{$tag|escape:'html':'UTF-8'}" /> {/if} <button type="submit" class="btn btn-default button exclusive-medium"> <span>{l s='Show all'}</span> </button> {if is_array($requestNb)} {foreach from=$requestNb item=requestValue key=requestKey} {if $requestKey != 'requestUrl' && $requestKey != 'p'} <input type="hidden" name="{$requestKey|escape:'html':'UTF-8'}" value="{$requestValue|escape:'html':'UTF-8'}" /> {/if} {/foreach} {/if} <input name="n" id="nb_item" class="hidden" value="{$nb_products}" /> </div> </form> {/if} You might also want to empty nbr-product-page.tpl, erasing the code above just gets rid of the show all button Link to comment Share on other sites More sharing options...
Netzfischer Posted June 27, 2016 Author Share Posted June 27, 2016 thanks, Nemo1 Sofar, it did only half the trick. Emptying the nbr-product-page.tpl deletes the whole drop down menu. Deleting the code from the pagination.tpl has no effect. Pls note there is no show all button in the theme I am using. There is only the drop down and works like this: - at the beginning, you can select 30, 60 or 150 articles per page. 30 is default. - But once I change it to 60 or 150 and the new selection is loaded, the dropdown option also changesand offer to display the full number of articles in the catalogue. So I only want to switch of this option to show all articles, which appears once the page reloads. Here is the code of my pagination.tpl (I put the section you suggested to delete back in). Any suggestions on how to limit the options showing in the dropdown? Many Thanks in advance! {if isset($no_follow) AND $no_follow} {assign var='no_follow_text' value='rel="nofollow"'} {else} {assign var='no_follow_text' value=''} {/if} {if isset($p) AND $p} {if isset($smarty.get.id_category) && $smarty.get.id_category && isset($category)} {if !isset($current_url)} {assign var='requestPage' value=$link->getPaginationLink('category', $category, false, false, true, false)} {else} {assign var='requestPage' value=$current_url} {/if} {assign var='requestNb' value=$link->getPaginationLink('category', $category, true, false, false, true)} {elseif isset($smarty.get.id_manufacturer) && $smarty.get.id_manufacturer && isset($manufacturer)} {assign var='requestPage' value=$link->getPaginationLink('manufacturer', $manufacturer, false, false, true, false)} {assign var='requestNb' value=$link->getPaginationLink('manufacturer', $manufacturer, true, false, false, true)} {elseif isset($smarty.get.id_supplier) && $smarty.get.id_supplier && isset($supplier)} {assign var='requestPage' value=$link->getPaginationLink('supplier', $supplier, false, false, true, false)} {assign var='requestNb' value=$link->getPaginationLink('supplier', $supplier, true, false, false, true)} {else} {if !isset($current_url)} {assign var='requestPage' value=$link->getPaginationLink(false, false, false, false, true, false)} {else} {assign var='requestPage' value=$current_url} {/if} {assign var='requestNb' value=$link->getPaginationLink(false, false, true, false, false, true)} {/if} <!-- Pagination --> <div id="pagination{if isset($paginationId)}_{$paginationId}{/if}" class="pagination clearfix"> {if $nb_products > $products_per_page && $start!=$stop} <form class="showall" action="{if !is_array($requestNb)}{$requestNb}{else}{$requestNb.requestUrl}{/if}" method="get"> <div> {if isset($search_query) AND $search_query} <input type="hidden" name="search_query" value="{$search_query|escape:'html':'UTF-8'}" /> {/if} {if isset($tag) AND $tag AND !is_array($tag)} <input type="hidden" name="tag" value="{$tag|escape:'html':'UTF-8'}" /> {/if} <button type="submit" class="btn btn-default button exclusive-medium"> <span>{l s='Show all'}</span> </button> {if is_array($requestNb)} {foreach from=$requestNb item=requestValue key=requestKey} {if $requestKey != 'requestUrl' && $requestKey != 'p'} <input type="hidden" name="{$requestKey|escape:'html':'UTF-8'}" value="{$requestValue|escape:'html':'UTF-8'}" /> {/if} {/foreach} {/if} <input name="n" id="nb_item" class="hidden" value="{$nb_products}" /> </div> </form> {/if} {if $start!=$stop} <ul class="pagination"> {if $p != 1} {assign var='p_previous' value=$p-1} <li id="pagination_previous{if isset($paginationId)}_{$paginationId}{/if}" class="pagination_previous"> <a {$no_follow_text} href="{$link->goPage($requestPage, $p_previous)}"> <i class="icon-chevron-left"></i> <b>{l s='Previous'}</b> </a> </li> {else} <li id="pagination_previous{if isset($paginationId)}_{$paginationId}{/if}" class="disabled pagination_previous"> <span> <i class="icon-chevron-left"></i> <b>{l s='Previous'}</b> </span> </li> {/if} {if $start==3} <li> <a {$no_follow_text} href="{$link->goPage($requestPage, 1)}"> <span>1</span> </a> </li> <li> <a {$no_follow_text} href="{$link->goPage($requestPage, 2)}"> <span>2</span> </a> </li> {/if} {if $start==2} <li> <a {$no_follow_text} href="{$link->goPage($requestPage, 1)}"> <span>1</span> </a> </li> {/if} {if $start>3} <li> <a {$no_follow_text} href="{$link->goPage($requestPage, 1)}"> <span>1</span> </a> </li> <li class="truncate"> <span> <span>...</span> </span> </li> {/if} {section name=pagination start=$start loop=$stop+1 step=1} {if $p == $smarty.section.pagination.index} <li class="active current"> <span> <span>{$p|escape:'html':'UTF-8'}</span> </span> </li> {else} <li> <a {$no_follow_text} href="{$link->goPage($requestPage, $smarty.section.pagination.index)}"> <span>{$smarty.section.pagination.index|escape:'html':'UTF-8'}</span> </a> </li> {/if} {/section} {if $pages_nb>$stop+2} <li class="truncate"> <span> <span>...</span> </span> </li> <li> <a href="{$link->goPage($requestPage, $pages_nb)}"> <span>{$pages_nb|intval}</span> </a> </li> {/if} {if $pages_nb==$stop+1} <li> <a href="{$link->goPage($requestPage, $pages_nb)}"> <span>{$pages_nb|intval}</span> </a> </li> {/if} {if $pages_nb==$stop+2} <li> <a href="{$link->goPage($requestPage, $pages_nb-1)}"> <span>{$pages_nb-1|intval}</span> </a> </li> <li> <a href="{$link->goPage($requestPage, $pages_nb)}"> <span>{$pages_nb|intval}</span> </a> </li> {/if} {if $pages_nb > 1 AND $p != $pages_nb} {assign var='p_next' value=$p+1} <li id="pagination_next{if isset($paginationId)}_{$paginationId}{/if}" class="pagination_next"> <a {$no_follow_text} href="{$link->goPage($requestPage, $p_next)}"> <b>{l s='Next'}</b> <i class="icon-chevron-right"></i> </a> </li> {else} <li id="pagination_next{if isset($paginationId)}_{$paginationId}{/if}" class="disabled pagination_next"> <span> <b>{l s='Next'}</b> <i class="icon-chevron-right"></i> </span> </li> {/if} </ul> {/if} </div> <div class="product-count"> {if ($n*$p) < $nb_products } {assign var='productShowing' value=$n*$p} {else} {assign var='productShowing' value=($n*$p-$nb_products-$n*$p)*-1} {/if} {if $p==1} {assign var='productShowingStart' value=1} {else} {assign var='productShowingStart' value=$n*$p-$n+1} {/if} {if $nb_products > 1} {l s='Showing %1$d - %2$d of %3$d items' sprintf=[$productShowingStart, $productShowing, $nb_products]} {else} {l s='Showing %1$d - %2$d of 1 item' sprintf=[$productShowingStart, $productShowing]} {/if} </div> <!-- /Pagination --> {/if} Link to comment Share on other sites More sharing options...
rocky Posted June 27, 2016 Share Posted June 27, 2016 It's the <select> tag in nbr-product-page.tpl you should be editing. Here's what it looks like in the default PrestaShop v1.6.1.6 theme: <select name="n" id="nb_item{if isset($paginationId)}_{$paginationId}{/if}" class="form-control"> {assign var="lastnValue" value="0"} {foreach from=$nArray item=nValue} {if $lastnValue <= $nb_products} <option value="{$nValue|escape:'html':'UTF-8'}" {if $n == $nValue}selected="selected"{/if}>{$nValue|escape:'html':'UTF-8'}</option> {/if} {assign var="lastnValue" value=$nValue} {/foreach} </select> The code is probably different in your theme. Hopefully, you can modify that code to remove the value you don't want. Link to comment Share on other sites More sharing options...
Netzfischer Posted June 28, 2016 Author Share Posted June 28, 2016 hi rocky thanks for the tip, I copied the code into my theme, but I can't figure out which value to change in order to limit the maximum number of products to display. I still get the whole number of products available displayed. Not the first time, but when I change from say 30 to 60. All of a sudden there is also the option to select the whole catalogue... Where should I change the value? cheers Roland Link to comment Share on other sites More sharing options...
rocky Posted June 28, 2016 Share Posted June 28, 2016 I'm guessing your theme is using AJAX to refresh the page and it is changing the original "Number of products" dropdown to add that value. I can't help much because I'm unfamiliar with your theme. I suggest that you open Firebug and check the "Console" tab to see the AJAX request. That should tell you which file is updating the product list. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now