History: PluginList pagination or list control block
Preview of version: 12
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
{list max="10"}
{pagination max="10"}
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:
{output template="table" pagination="y"}
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:
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:
{pagination max="100" offset_arg="offset_banner" sort_arg="sort_banner"}
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
{pagination_links resultset=$results}{/pagination_links}
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.
{LIST()} {filter type="trackeritem"} {filter field="tracker_id" content="42" } {pagination max="4" offset_arg="liste1"} {output template="list-of-meetings.tpl"} {LIST}
{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}