Loading...
 
Skip to main content

History: PluginList pagination or list control block

Source of version: 13

Copy to clipboard
            !PluginList - list or pagination control block
The LIST plugin will display 50 results by default. Depending on the output configuration, this may take some time to render, so you might want to decrease the visible amount of results to improve performance by using this plugin-like control block in the LIST body content.

! Control the maximum number of items

{CODE(caption="Up to Tiki 10 (also still works in Tiki 11.0 SVN, as of 31 May 2013) and in Tiki12.3 as of 28 Dec 2014" colors="tiki")}{list max="10"}{CODE}

{CODE(caption="Tiki 11 and above" colors="tiki")}{pagination max="10"}{CODE}

! Pagination with inbuilt templates

In order to actually see pagination (and not just a limit on the number of displayed items), you can use the parameter pagination="y" like so: {CODE(colors="tiki")}{output template="table" pagination="y"}{CODE}

Additionally, the pagination control can have the following parameters:
* -+onclick+-
* -+offset_jsvar+-
* -+offset_arg+- to change the key used in the URL for pagination, useful when multiple lists are used within the same page
* -+sort_arg+- (Tiki 14+) to allow multiple lists to have separate sort keys
* -+max+- for the number of results per page	

Note that this setting will take precedence over any maxRecords setting which is set in the query string, and that maxRecords in the query string will only apply if offset is set anyway, while the above setting will work always.

!! Issues with list plugins in module
Sometimes a list module in a custom module will trigger errors like this:
{img fileId="1692"}
This is due to the default sort order for the list plugin conflicting with a sort order on other lists (like trackers for instance).
To fix it add something like this:
{CODE(colors="tiki")}  {pagination max="100" offset_arg="offset_banner" sort_arg="sort_banner"}
{CODE}

! Pagination in smarty templates

You can use advanced pagination not using pagination="y" but instead directly creating the pagination within an output Smarty template which contains the following
{CODE(colors="tiki")}{pagination_links resultset=$results}{/pagination_links}{CODE}
in the template.

Note that you need to combine {pagination} block in the LIST plugin and {pagination_links} in the smarty template with matching parameters.
{CODE(caption="LIST plugin")}
{LIST()}
{filter type="trackeritem"}
{filter field="tracker_id" content="42" }
{pagination max="4" offset_arg="liste1"}
{output template="list-of-meetings.tpl"}
{LIST}
{CODE}
{CODE(caption="smarty template list-of-meetings.tpl")}
{foreach from=$results item=result}
<h2> <a href="{$result.url}" >{$result.tracker_field_meetingTitle}</a></h2>
<div class="author_info"><em>{$result.date} - {$result.tracker_field_meetingAuthor_text}</em></div>
<div class="well">
{$result.tracker_field_meetingIntro_raw}
</div>
{/foreach}
{pagination_links resultset=$results offset_arg="liste1"}{/pagination_links}
{CODE}

Alternatively (at least since version 24.0) you can add -+pagination=1+- to your output plugin and pagination will be added to your results without needing to add the -+pagination_links+- code to your template, e.g.
{CODE(caption="LIST plugin")}
{LIST()}
{filter type="trackeritem"}
{filter field="tracker_id" content="42" }
{pagination max="4" offset_arg="liste1"}
{output template="list-of-meetings.tpl" pagination=1}
{LIST}
{CODE}


!!!!All the LIST Plugin control blocks
{toc pagename="PluginList"}
        

History

Advanced
Information Version
drsassafras 17
drsassafras ok, really fixing now :) 16
drsassafras fixing link (hopefully) 15
drsassafras remove old tiki references 14
Jonny Bradley added notes about pagination in tpls 13
Jonny Bradley 12
Jean-Marc Libs 11
Jean-Marc Libs 10
Jean-Marc Libs 9
Jean-Marc Libs 8
luciash d' being 🧙 7
lindon 6
Jonny Bradley 5
Geoff Brickell 4
Geoff Brickell Table of Contents (Structure) Plugin modified by editor. 3
Geoff Brickell 2
Geoff Brickell 1