Enable pagination of blog entries

This commit is contained in:
Björn Fromme
2018-04-25 16:34:42 +02:00
parent a5f09112dc
commit c816ae41b4
2 changed files with 85 additions and 0 deletions
@@ -4,6 +4,7 @@ plugin.tx_news {
view {
templateRootPaths.100 = EXT:ep_theme/Resources/Private/Templates/News/
partialRootPaths.100 = EXT:ep_theme/Resources/Private/Partials/News/
widget.GeorgRinger\News\ViewHelpers\Widget\PaginateViewHelper.templateRootPath = EXT:ep_theme/Resources/Private/Templates/News/
}
settings {
link.skipControllerAndAction = 1
@@ -0,0 +1,84 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:n="http://typo3.org/ns/GeorgRinger/News/ViewHelpers"
data-namespace-typo3-fluid="true">
<f:renderChildren arguments="{contentArguments}" />
<f:render section="paginator" arguments="{pagination: pagination,configuration:configuration}" />
<f:section name="paginator">
<f:if condition="{pagination.numberOfPages} > 1">
<f:if condition="{settings.list.paginate}">
<f:if condition="{pagination.previousPage}">
<f:if condition="{pagination.previousPage} > 1">
<f:then>
<n:headerData><link rel="prev" href="{f:widget.uri(arguments: {currentPage: pagination.previousPage}) -> f:format.htmlentities()}" /></n:headerData>
</f:then>
<f:else>
<n:headerData><link rel="prev" href="{f:widget.uri() -> f:format.htmlentities()}" /></n:headerData>
</f:else>
</f:if>
</f:if>
<f:if condition="{pagination.nextPage}">
<n:headerData><link rel="next" href="{f:widget.uri(arguments: {currentPage: pagination.nextPage}) -> f:format.htmlentities()}" /></n:headerData>
</f:if>
</f:if>
<nav aria-label="Paginierung">
<ul class="pagination">
<f:if condition="{pagination.previousPage}">
<li class="previous">
<f:if condition="{pagination.previousPage} > 1">
<f:then>
<f:widget.link arguments="{currentPage: pagination.previousPage}">&laquo;</f:widget.link>
</f:then>
<f:else>
<f:widget.link>&laquo;</f:widget.link>
</f:else>
</f:if>
</li>
</f:if>
<f:if condition="{pagination.displayRangeStart} > 1">
<li class="first">
<f:widget.link>1</f:widget.link>
</li>
</f:if>
<f:if condition="{pagination.hasLessPages}">
<li>....</li>
</f:if>
<f:for each="{pagination.pages}" as="page">
<f:if condition="{page.isCurrent}">
<f:then>
<li class="active"><span>{page.number}</span></li>
</f:then>
<f:else>
<li>
<f:if condition="{page.number} > 1">
<f:then>
<f:widget.link arguments="{currentPage: page.number}">{page.number}</f:widget.link>
</f:then>
<f:else>
<f:widget.link>{page.number}</f:widget.link>
</f:else>
</f:if>
</li>
</f:else>
</f:if>
</f:for>
<f:if condition="{pagination.hasMorePages}">
<li class="disabled">....</li>
</f:if>
<f:if condition="{pagination.displayRangeEnd} < {pagination.numberOfPages}">
<li class="last">
<f:widget.link arguments="{currentPage: pagination.numberOfPages}">{pagination.numberOfPages}</f:widget.link>
</li>
</f:if>
<f:if condition="{pagination.nextPage}">
<li class="last next">
<f:widget.link arguments="{currentPage: pagination.nextPage}">&raquo;</f:widget.link>
</li>
</f:if>
</ul>
</nav>
</f:if>
</f:section>
</html>