Fix pagination and links for "stable archives".
* Fix core pagination for "stable archives". The current page will always be the current page, regardless of archive sorting order. Page 76 of 86 pages will remain page 76, even if the archive sorting is changed; it won't become page 10. * Fix pagination for "stable archives" in themes. Timeline and Bulletproof have pagination. Both need to swap the prev/next links for stable archives, as the sorting order has been reversed. * Fix prev/next page links for stable archives. We shouldn't swap prev/next links for archive pages. With stable archives, the title page is the last page of the archive, not the first, so all other pages are "previos", and we should display it like that. Cherry-picked from master. Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
parent
cd3464be70
commit
4e662bf17c
@ -1,6 +1,13 @@
|
||||
Version 2.3.1-beta1
|
||||
------------------------------------------------------------------------
|
||||
|
||||
* Change footer_info and prev/next links for archive pages for
|
||||
"stable archives" sort order.
|
||||
|
||||
* Fix pagination in core for "stable archives" sort order and fix
|
||||
prev/next links for pagination in timeline and bulletproof themes
|
||||
when "stable archives" are active.
|
||||
|
||||
* Add Spartacus links ("more info") to plugin lists.
|
||||
|
||||
* Fix/Change: Wording of plugin display ("version") and PHP/smarty
|
||||
|
@ -973,13 +973,9 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
|
||||
$uriArguments[] = 'P%s';
|
||||
$serendipity['smarty']->assign('footer_totalEntries', $totalEntries);
|
||||
$serendipity['smarty']->assign('footer_totalPages', $totalPages);
|
||||
if (serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search') {
|
||||
$serendipity['smarty']->assign('footer_currentPage', $totalPages - $serendipity['GET']['page']);
|
||||
} else {
|
||||
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
|
||||
}
|
||||
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
|
||||
$serendipity['smarty']->assign('footer_pageLink', str_replace('%2A', '*', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix)));
|
||||
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search' ? $totalPages - (int)$serendipity['GET']['page'] +1 : (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
|
||||
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
|
||||
|
||||
if ($serendipity['GET']['page'] < $totalPages) {
|
||||
$uriArguments = $serendipity['uriArguments'];
|
||||
@ -987,11 +983,6 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
|
||||
$serendipity['smarty']->assign('footer_next_page', serendipity_rewriteURL(str_replace('//', '/', implode('/', $uriArguments)) . $suffix));
|
||||
}
|
||||
|
||||
if (serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search') {
|
||||
$temp = $serendipity['smarty']->getTemplateVars('footer_prev_page');
|
||||
$serendipity['smarty']->assign('footer_prev_page', $serendipity['smarty']->getTemplateVars('footer_next_page'));
|
||||
$serendipity['smarty']->assign('footer_next_page', $temp);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -418,6 +418,14 @@
|
||||
|
||||
{if $template_option.show_pagination == 'true' && $footer_totalPages > 1}
|
||||
<div class="pagination">
|
||||
{assign var="archiveSortStable" value="`serendipity_getConfigVar key='archiveSortStable'`"}
|
||||
{if $archiveSortStable}
|
||||
{assign var="linkPrevPage" value="`$footer_next_page`"}
|
||||
{assign var="linkNextPage" value="`$footer_prev_page`"}
|
||||
{else}
|
||||
{assign var="linkPrevPage" value="`$footer_prev_page`"}
|
||||
{assign var="linkNextPage" value="`$footer_next_page`"}
|
||||
{/if}
|
||||
{assign var="paginationStartPage" value="`$footer_currentPage-3`"}
|
||||
{if $footer_currentPage+3 > $footer_totalPages}
|
||||
{assign var="paginationStartPage" value="`$footer_totalPages-6`"}
|
||||
@ -425,8 +433,8 @@
|
||||
{if $paginationStartPage <= 0}
|
||||
{assign var="paginationStartPage" value="1"}
|
||||
{/if}
|
||||
{if $footer_prev_page}
|
||||
<a title="{$CONST.PREVIOUS_PAGE}" href="{$footer_prev_page}"><span class="pagearrow">◄</span></a>
|
||||
{if $linkPrevPage}
|
||||
<a title="{$CONST.PREVIOUS_PAGE}" href="{$linkPrevPage}"><span class="pagearrow">◄</span></a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 1}
|
||||
<a href="{$footer_pageLink|replace:'%s':'1'}">1</a>
|
||||
@ -447,8 +455,8 @@
|
||||
{if $smarty.section.i.index <= $footer_totalPages}
|
||||
<a href="{$footer_pageLink|replace:'%s':$footer_totalPages}">{$footer_totalPages}</a>
|
||||
{/if}
|
||||
{if $footer_next_page}
|
||||
<a title="{$CONST.NEXT_PAGE}" href="{$footer_next_page}"><span class="pagearrow">►</span></a>
|
||||
{if $linkNextPage}
|
||||
<a title="{$CONST.NEXT_PAGE}" href="{$linkNextPage}"><span class="pagearrow">►</span></a>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
@ -285,6 +285,14 @@
|
||||
|
||||
{if $footer_totalPages >1 }
|
||||
<nav class="pagination">
|
||||
{assign var="archiveSortStable" value="`serendipity_getConfigVar key='archiveSortStable'`"}
|
||||
{if $archiveSortStable}
|
||||
{assign var="linkPrevPage" value="`$footer_next_page`"}
|
||||
{assign var="linkNextPage" value="`$footer_prev_page`"}
|
||||
{else}
|
||||
{assign var="linkPrevPage" value="`$footer_prev_page`"}
|
||||
{assign var="linkNextPage" value="`$footer_next_page`"}
|
||||
{/if}
|
||||
{assign var="paginationStartPage" value="`$footer_currentPage-3`"}
|
||||
{if $footer_currentPage+3 > $footer_totalPages}
|
||||
{assign var="paginationStartPage" value="`$footer_totalPages-4`"}
|
||||
@ -292,8 +300,8 @@
|
||||
{if $paginationStartPage <= 0}
|
||||
{assign var="paginationStartPage" value="1"}
|
||||
{/if}
|
||||
{if $footer_prev_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.PREVIOUS_PAGE}" href="{$footer_prev_page}"><i class="fas fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.PREVIOUS_PAGE}</span></a>
|
||||
{if $linkPrevPage}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.PREVIOUS_PAGE}" href="{$linkPrevPage}"><i class="fas fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.PREVIOUS_PAGE}</span></a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 1}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{'1'|string_format:$footer_pageLink}">1</a>
|
||||
@ -314,8 +322,8 @@
|
||||
{if $smarty.section.i.index <= $footer_totalPages}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$footer_totalPages|string_format:$footer_pageLink}">{$footer_totalPages}</a>
|
||||
{/if}
|
||||
{if $footer_next_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.NEXT_PAGE}" href="{$footer_next_page}"><i class="fas fa-arrow-right" aria-hidden="true"></i><span class="sr-only">{$CONST.NEXT_PAGE}</span></a>
|
||||
{if $linkNextPage}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.NEXT_PAGE}" href="{$linkNextPage}"><i class="fas fa-arrow-right" aria-hidden="true"></i><span class="sr-only">{$CONST.NEXT_PAGE}</span></a>
|
||||
{/if}
|
||||
</nav>
|
||||
{/if}
|
||||
|
@ -114,6 +114,14 @@
|
||||
|
||||
{if $footer_totalPages >1 && !isset($staticpage_pagetitle)}
|
||||
<nav class="pagination pull-right">
|
||||
{assign var="archiveSortStable" value="`serendipity_getConfigVar key='archiveSortStable'`"}
|
||||
{if $archiveSortStable}
|
||||
{assign var="linkPrevPage" value="`$footer_next_page`"}
|
||||
{assign var="linkNextPage" value="`$footer_prev_page`"}
|
||||
{else}
|
||||
{assign var="linkPrevPage" value="`$footer_prev_page`"}
|
||||
{assign var="linkNextPage" value="`$footer_next_page`"}
|
||||
{/if}
|
||||
{assign var="paginationStartPage" value="`$footer_currentPage-3`"}
|
||||
{if $footer_currentPage+3 > $footer_totalPages}
|
||||
{assign var="paginationStartPage" value="`$footer_totalPages-4`"}
|
||||
@ -121,8 +129,8 @@
|
||||
{if $paginationStartPage <= 0}
|
||||
{assign var="paginationStartPage" value="1"}
|
||||
{/if}
|
||||
{if $footer_prev_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.PREVIOUS_PAGE}" href="{$footer_prev_page}"><i class="fa fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.PREVIOUS_PAGE}</span></a>
|
||||
{if $linkPrevPage}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.PREVIOUS_PAGE}" href="{$linkPrevPage}"><i class="fa fa-arrow-left" aria-hidden="true"></i><span class="sr-only">{$CONST.PREVIOUS_PAGE}</span></a>
|
||||
{/if}
|
||||
{if $paginationStartPage > 1}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{'1'|string_format:$footer_pageLink}">1</a>
|
||||
@ -143,8 +151,8 @@
|
||||
{if $smarty.section.i.index <= $footer_totalPages}
|
||||
<a class="btn btn-md btn-default btn-theme" href="{$footer_totalPages|string_format:$footer_pageLink}">{$footer_totalPages}</a>
|
||||
{/if}
|
||||
{if $footer_next_page}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.NEXT_PAGE}" href="{$footer_next_page}"><i class="fa fa-arrow-right" aria-hidden="true"></i><span class="sr-only">{$CONST.NEXT_PAGE}</span></a>
|
||||
{if $linkNextPage}
|
||||
<a class="btn btn-md btn-default btn-theme" title="{$CONST.NEXT_PAGE}" href="{$linkNextPage}"><i class="fa fa-arrow-right" aria-hidden="true"></i><span class="sr-only">{$CONST.NEXT_PAGE}</span></a>
|
||||
{/if}
|
||||
</nav>
|
||||
{/if}
|
||||
|
Loading…
x
Reference in New Issue
Block a user