TWDesign Posted April 6, 2012 Share Posted April 6, 2012 Just like to give a shout out to Mark Balmer for this beautiful solution to a problem I encountered using PS 1.4.7.0 See the original link here: http://forge.prestas...owse/PSCFI-3498 You can get pagination working by following the instructions below: 1. Create a new template page called pagination_instant.tpl in your theme folder. 2. Paste the following into it: {*[list] [*]2007-2011 PrestaShop * [*]NOTICE OF LICENSE * [*]This source file is subject to the Academic Free License (AFL 3.0) [*]that is bundled with this package in the file LICENSE.txt. [*]It is also available through the world-wide-web at this URL: [*][url="http://opensource.org/licenses/afl-3.0.php"]http://opensource.or...ses/afl-3.0.php[/url] [*]If you did not receive a copy of the license and are unable to [*]obtain it through the world-wide-web, please send an email [*]to [email protected] so we can send you a copy immediately. * [*]DISCLAIMER * [*]Do not edit or add to this file if you wish to upgrade PrestaShop to newer [*]versions in the future. If you wish to customize PrestaShop for your [*]needs please refer to [url="http://www.prestashop.com"]http://www.prestashop.com[/url] for more information. * [*]@author PrestaShop SA <[email protected]> [*]@copyright 2007-2011 PrestaShop SA [*]@version Release: $Revision: 6594 $ [*]@license [url="http://opensource.org/licenses/afl-3.0.php"]http://opensource.or...ses/afl-3.0.php[/url] Academic Free License (AFL 3.0) [*]International Registered Trademark & Property of PrestaShop SA *} [/list] {if isset($p) AND $p} {assign var='requestPage' value=$link->getPaginationLink(false, false, false, false, true, false)} {assign var='requestInstantPage' value=$requestPage|replace:'instantSearch=1&q':'search_query'} {assign var='requestNb' value=$link->getPaginationLink(false, false, true, false, false, true)} <!-- Pagination --> <div id="pagination" class="pagination"> {if $start!=$stop} <ul class="pagination"> {if $p != 1} {assign var='p_previous' value=$p-1} <li id="pagination_previous"><a href="{$link->goPage($requestInstantPage, $p_previous)}">« {l s='Previous'}</a></li> {else} <li id="pagination_previous" class="disabled"><span>« {l s='Previous'}</span></li> {/if} {if $start>3} <li><a href="{$link->goPage($requestInstantPage, 1)}">1</a></li> <li class="truncate">...</li> {/if} {section name=pagination start=$start loop=$stop+1 step=1} {if $p == $smarty.section.pagination.index} <li class="current"><span>{$p|escape:'htmlall':'UTF-8'}</span></li> {else} <li><a href="{$link->goPage($requestInstantPage, $smarty.section.pagination.index)}">{$smarty.section.pagination.index|escape:'htmlall':'UTF-8'}</a></li> {/if} {/section} {if $pages_nb>$stop+2} <li class="truncate">...</li> <li><a href="{$link->goPage($requestInstantPage, $pages_nb)}">{$pages_nb|intval}</a></li> {/if} {if $pages_nb > 1 AND $p != $pages_nb} {assign var='p_next' value=$p+1} <li id="pagination_next"><a href="{$link->goPage($requestInstantPage, $p_next)}">{l s='Next'} »</a></li> {else} <li id="pagination_next" class="disabled"><span>{l s='Next'} »</span></li> {/if} </ul> {/if} {if $nb_products > 10} <form action="{if !is_array($requestNb)}{$requestNb}{else}{$requestNb.requestUrl}{/if}" method="get" class="pagination"> <p> {if isset($search_query) AND $search_query}<input type="hidden" name="search_query" value="{$search_query|escape:'htmlall':'UTF-8'}" />{/if} {if isset($tag) AND $tag AND !is_array($tag)}<input type="hidden" name="tag" value="{$tag|escape:'htmlall':'UTF-8'}" />{/if} <input type="submit" class="button_mini" value="{l s='OK'}" /> <label for="nb_item">{l s='items:'}</label> <select name="n" id="nb_item"> {assign var="lastnValue" value="0"} {foreach from=$nArray item=nValue} {if $lastnValue <= $nb_products} <option value="{$nValue|escape:'htmlall':'UTF-8'}" {if $n == $nValue}selected="selected"{/if}>{$nValue|escape:'htmlall':'UTF-8'}</option> {/if} {assign var="lastnValue" value=$nValue} {/foreach} </select> {if is_array($requestNb)} {foreach from=$requestNb item=requestValue key=requestKey} {if $requestKey != 'requestUrl'} <input type="hidden" name="{$requestKey|escape:'htmlall':'UTF-8'}" value="{$requestValue|escape:'htmlall':'UTF-8'}" /> {/if} {/foreach} {/if} </p> </form> {/if} </div> <!-- /Pagination --> {/if} 3. Amend your theme's search.tpl (around line 50) from: {if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}{include file="$tpl_dir./pagination.tpl"}{/if} to: {if !isset($instantSearch) || (isset($instantSearch) && !$instantSearch)}{include file="$tpl_dir./pagination.tpl"}{else}{include file="$tpl_dir./pagination_instant.tpl"}{/if} 2 Link to comment Share on other sites More sharing options...
fogolin Posted July 22, 2012 Share Posted July 22, 2012 (edited) Works great! There's just one thing, it seems that, the ending slash in line 26 is showing up in the pages...: [/list] But it works, Thank you! Edited July 22, 2012 by fogolin (see edit history) Link to comment Share on other sites More sharing options...
faDdy Posted March 21, 2013 Share Posted March 21, 2013 works great on 1.4.8.2 Thanks. 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