Hi,
Vraagje:
Ik heb in een 'news summary template' niet genoeg aan de $prevpage en $nextpage template variabelen voor de pagination. Na diverse zoekwerk denk ik dat de enige manier is om de links te krijgen naar andere pagina's door ze zelf samen te stellen, $actionid en $returnid etc worden wel doorgegeven.
De vraag is dus eigenlijk, is het geoorloofd om zellf op deze manier module links samen te stellen in de template??
mvg,
Rinker
[Solved] Pagination
Moderator: velden
[Solved] Pagination
Last edited by Rinker on Tue Mar 01, 2016 3:14 pm, edited 1 time in total.
Re: Pagination
Ik denk dat je het met een eenvoudige foreach loop kunt doen en dan de url kopieren van een 'next page' en daarbij het pagenumber=xx vervangen voor het juiste paginanummer.
Heb het zo ooit eens gemaakt voor de Products module.
Hieronder die code. Merk op dat de variabelen waarschijnlijk een andere naam hebben in de news summary templates. Bovendien zit er natuurlijk wat code tussen voor mijn specifieke template. Tenslotte denk ik dat dit werkt tot 10 paginas. Bij meer moet de regex tikkeltje worden aangepast.
Heb het zo ooit eens gemaakt voor de Products module.
Hieronder die code. Merk op dat de variabelen waarschijnlijk een andere naam hebben in de news summary templates. Bovendien zit er natuurlijk wat code tussen voor mijn specifieke template. Tenslotte denk ik dat dit werkt tot 10 paginas. Bij meer moet de regex tikkeltje worden aangepast.
Code: Select all
{if isset($pagecount) && $pagecount gt 1}
<ul class="pagination clearing-container">
<li class="arrow{if $curpage == 1} unavailable{/if}"><a href="{$prevpage_url}">«</a></li>
{if !empty($prevpage_url)}{$tmp_url=$prevpage_url}
{elseif !empty($nextpage_url)}{$tmp_url=$nextpage_url}
{else}{$tmp_url=''}{/if}
{for $pages=1 to $pagecount}
<li{if $pages == $curpage} class="current"{/if}><a href="{$tmp_url|regex_replace:'/page=\d/':"page=$pages"}">{$pages}</a></li>
{/for}
<li class="arrow{if $curpage == $pagecount} unavailable{/if}"><a href="{$nextpage_url}">»</a></li>
</ul>
{/if}
Re: Pagination
Thnx Velden voor je antwoord.
Ik kwam daar gisteren ook op, had het opgelost met 'var|replace'.
Ik gebruik de $firsturl of de $lasturl, afhankelijk van de huidige pagina positie als één van de twee niet beschikbaar is.
gebruik van $firsturl:
gebruik van $lasturl
Ik kwam daar gisteren ook op, had het opgelost met 'var|replace'.
Ik gebruik de $firsturl of de $lasturl, afhankelijk van de huidige pagina positie als één van de twee niet beschikbaar is.
gebruik van $firsturl:
Code: Select all
{$mylink|replace:"pagenumber=1" : "pagenumber={$pagenumber-2}"}
Code: Select all
{$mylink|replace:"pagenumber={$pagecount}" : "pagenumber={$pagenumber+2}"}
Re: [Solved] Pagination
User iturbay heeft getest met de aangepaste regex voor gevallen waarbij de page >= 10 en aangegeven dat het werkt. Zelf het ik dat niet getest.
De code zou dan worden: (het scheelt maar één +-teken):
De code zou dan worden: (het scheelt maar één +-teken):
Code: Select all
{if isset($pagecount) && $pagecount gt 1}
<ul class="pagination clearing-container">
<li class="arrow{if $curpage == 1} unavailable{/if}"><a href="{$prevpage_url}">«</a></li>
{if !empty($prevpage_url)}{$tmp_url=$prevpage_url}
{elseif !empty($nextpage_url)}{$tmp_url=$nextpage_url}
{else}{$tmp_url=''}{/if}
{for $pages=1 to $pagecount}
<li{if $pages == $curpage} class="current"{/if}><a href="{$tmp_url|regex_replace:'/page=\d+/':"page=$pages"}">{$pages}</a></li>
{/for}
<li class="arrow{if $curpage == $pagecount} unavailable{/if}"><a href="{$nextpage_url}">»</a></li>
</ul>
{/if}