Loading...
 
Skip to main content

History: PluginList pagination or list control block

Source of version: 17 (current)

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 Tiki12.3" 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+- 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 ((Tiki24|Tiki 24))) 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"}