t3brightside / paginatedprocessors
Paginated dataprocessors for TYPO3
Fund package maintenance!
t3brightside
Installs: 22 423
Dependents: 6
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 5
Open Issues: 2
Type:typo3-cms-extension
Requires
- t3brightside/embedassets: ^1.3
- typo3/cms-core: ^11.5 || ^12.4 || ^13.0
README
TYPO3 CMS dataProcessors with pagination
System requirements
- TYPO3 v11, v12, v13
Features
- PaginatedDatabaseQueryProcessor
- PaginatedFilesProcessor
- PaginatedMenuProcessor
- Pagination on/off
- Number of items per page
- Number of pagination links
- URL Segment from content element or TypoScript
- Anchor links to content element or custom id
Installation & Updates
composer req t3brightside/paginatedprocessors
or from TYPO3 extension repository paginatedprocessors- Include static template
- Enable default CSS from constant editor: paginatedprocessors.enableDefaultStyles = 1
- See the ChangeLog for updates and breaking changes
Usage
Available DataProcessors
Brightside\Paginatedprocessors\DataProcessing\PaginatedDatabaseQueryProcessor
Brightside\Paginatedprocessors\DataProcessing\PaginatedFilesProcessor
Brightside\Paginatedprocessors\DataProcessing\PaginatedMenuProcessor
TypoScript example
10 = Brightside\Paginatedprocessors\DataProcessing\PaginatedDatabaseQueryProcessor
10 {
pagination {
isActive = 1
# isActive.field = tx_paginatedprocessors_paginationenabled
itemsPerPage = 10
itemsPerPage.override.field = tx_paginatedprocessors_itemsperpage
pageLinksShown = 7
pageLinksShown.override.field = tx_paginatedprocessors_pagelinksshown
## configure anchor links
# anchorActive = 1
anchorActive.field = tx_paginatedprocessors_anchor
## set element uid manually
# anchorId = 123
## or current content element from uid field
anchorId.field = uid
# content uid overriden if custom anchor element set in pagination options
anchorId.override.field = tx_paginatedprocessors_anchorid
## uniqueId is mandatory
## returns array 'pagination'
## URL example /21/2
uniqueId.field = uid
uniquePaginatorName = 0
## returns array 'pagination'
## URL example /gallery/2
## need to map in routeEnhancers, see PaginatedprocessorsByUnigueIdInTs
# uniqueId = gallery
## returns array 'pagination_gallery'
## URL example /gallery/2
## need to map in routeEnhancers, see PaginatedprocessorsByUnigueIdInTs
# uniqueId = gallery
# uniquePaginatorName = 1
}
...
}
Pagination link control examples
pageLinksShown = 1
[<<][<][-4/12-][>][>>]
pageLinksShown = 0 or is bigger than amount of pages + 2
[<][1][2][-3-][4][5][>]
pageLinksShown = 5
[<][1]…[5][6][-7-][8][9]…[60][>]
Template
<f:for each="{pages}" as="page" iteration="iterator"> <f:render partial="List" arguments="{_all}" /> </f:for> <f:if condition="{pagination.numberOfPages} > 1"> <f:render partial="Pagination" arguments="{pagination:pagination}" /> </f:if> <!-- with uniquePaginatorName turned on --> <f:if condition="{pagination_gallery.numberOfPages} > 1"> <f:render partial="Pagination" arguments="{pagination:pagination_gallery}" /> </f:if>
Route enhancers
imports: - resource: EXT:paginatedprocessors/Configuration/Routes.yaml
In your own extensions
Add pagination fields to custom content element
# There's a palette available to use for tt_content
--palette--;Pagination;paginatedprocessors,
Paginate a custom dataProcessor
Follow the comments in: PaginatedDatabaseQueryProcessor.php
Sources
Development and maintenance
Brightside OÜ – TYPO3 development and hosting specialised web agency