Documentation · ViewHelper reference

Be / Widget / PaginateViewHelper


This ViewHelper renders a Pagination of objects for the TYPO3 Backend.

Examples

required arguments

<f:be.widget.paginate objects="{blogs}" as="paginatedBlogs">
use {paginatedBlogs} as you used {blogs} before, most certainly inside
a <f:for> loop. </f:be.widget.paginate>

full configuration

<f:be.widget.paginate objects="{blogs}" as="paginatedBlogs" configuration="{itemsPerPage: 5, insertAbove: 1, insertBelow: 0, recordsLabel: 'MyRecords'}">
use {paginatedBlogs} as you used {blogs} before, most certainly inside
a <f:for> loop. </f:be.widget.paginate>
The recordsLabel can be used to replace the text in "Records 1 - 99" with a label of your own choice
= Performance characteristics =
In the above examples, it looks like {blogs} contains all Blog objects, thus
you might wonder if all objects were fetched from the database.
However, the blogs are NOT fetched from the database until you actually use them,
so the paginate ViewHelper will adjust the query sent to the database and receive
only the small subset of objects.
So, there is no negative performance overhead in using the Be Paginate Widget.
  • Tag usage example

    <f:be.widget.paginate objects="[anySimpleType]" as="foo" configuration="{foo: 'bar'}">
    	<!-- tag content - may be ignored! -->
    </f:be.widget.paginate>
  • Inline usage example

    {f:be.widget.paginate(objects: [anySimpleType], as: 'foo', configuration: {foo: 'bar'})}

Arguments

Argument Description Type
as string
configuration array
objects anySimpleType
Required attribute

Revision history

commit cbdc87b07b99f0948a0ceed6c42d847e2069a73f
Author: Jigal van Hemert <*****@xs4all.nl>
Date:   Fri Oct 26 21:00:05 2012 +0200

    [FEATURE] Backend paginate widget
    
    Backend modules such as the List module have a paginator which is quite
    different from the paginate widget which was backported from Flow.
    
    Change-Id: I48fcffa78ef90939f09a93d65273d9535fb13f0b
    Resolves: #42428
    Releases: 6.0
    Reviewed-on: http://review.typo3.org/15961
    Reviewed-by: Helmut Hummel
    Tested-by: Helmut Hummel

commit 9d46e6932d35c79bf87c96fa38b8e537c4192f23
Author: Alexander Schnitzler <*****@typovision.de>
Date:   Tue Nov 20 16:27:02 2012 +0100

    [CLEANUP] Adjust code to CGL and fix small namespace bugs
    
    * whitespaces, tabs and blank line issues
    * bool -> boolean
    * int -> integer
    * fix wrong namespace annotations
    
    Fixes: #43157
    Releases: 6.0
    Change-Id: I8397948e19248db029d8efd1555ee56e4982742d
    Reviewed-on: http://review.typo3.org/16619
    Reviewed-by: Helmut Hummel
    Tested-by: Helmut Hummel

commit 77f29a3c69a7cbb27b34072754aa503bace6c9f1
Author: Christian Kuhn <*****@schwarzbu.ch>
Date:   Tue Oct 1 14:40:56 2013 +0200

    [TASK] Remove closing PHP tags
    
    Change-Id: Iaa92566c53301e49396fc9fb26b0b339c48d567b
    Resolves: #52360
    Releases: 6.2
    Reviewed-on: https://review.typo3.org/24212
    Reviewed-by: Christian Kuhn
    Tested-by: Christian Kuhn
    Reviewed-by: Ernesto Baschny
    Tested-by: Ernesto Baschny
    Reviewed-by: Anja Leichsenring
    Tested-by: Anja Leichsenring

commit e316f7cd6dc115103bfab9336fd48fe0e97af680
Author: Stefan Froemken <*****@gmail.com>
Date:   Tue Sep 17 10:59:14 2013 +0200

    [TASK] Change injectMethods to annotations
    
    Change injectMethods as already done in extbase
    to inject annotations
    
    Resolves: #52040
    Releases: 6.2
    Change-Id: I1e4ba873981c4692cc0b3d867bd3756934661a90
    Reviewed-on: https://review.typo3.org/23865
    Reviewed-by: Stefan Neufeind
    Tested-by: Stefan Neufeind
    Reviewed-by: Markus Klein
    Tested-by: Markus Klein