From 504afe103f800ae39e008548c8c01f07b09dfac7 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 5 Apr 2020 17:10:01 +0200 Subject: [PATCH] add list pagination --- Controller/BackendController.php | 13 +++++++++++-- Theme/Backend/editor-list.tpl.php | 14 ++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 6bb93a3..d0281cc 100644 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -100,8 +100,17 @@ final class BackendController extends Controller $view->setTemplate('/Modules/Editor/Theme/Backend/editor-list'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1005301001, $request, $response)); - $docs = EditorDocMapper::getNewest(50); - $view->addData('docs', $docs); + if ($request->getData('ptype') === '-') { + $view->setData('docs', + EditorDocMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage()) + ::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25) + ); + } else { + $view->setData('docs', + EditorDocMapper::withConditional('language', $response->getHeader()->getL11n()->getLanguage()) + ::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25) + ); + } return $view; } diff --git a/Theme/Backend/editor-list.tpl.php b/Theme/Backend/editor-list.tpl.php index a5ce79a..505048d 100644 --- a/Theme/Backend/editor-list.tpl.php +++ b/Theme/Backend/editor-list.tpl.php @@ -12,12 +12,19 @@ */ declare(strict_types=1); +use phpOMS\Uri\UriFactory; + /** * @var \phpOMS\Views\View $this * @var \Modules\Editor\Models\EditorDoc[] $docs */ $docs = $this->getData('docs'); +$previous = empty($docs) ? '{/prefix}editor/list' : '{/prefix}editor/list?{?}&id=' . \reset($docs)->getId() . '&ptype=-'; +$next = empty($docs) ? '{/prefix}editor/list' : '{/prefix}editor/list?{?}&id=' . \end($docs)->getId() . '&ptype=+'; + +$docs = $this->getData('docs'); + echo $this->getData('nav')->render(); ?>
@@ -31,7 +38,7 @@ echo $this->getData('nav')->render(); ?> getHtml('Created') ?> $value) : ++$count; - $url = \phpOMS\Uri\UriFactory::build('{/prefix}editor/single?{?}&id=' . $value->getId()); ?> + $url = UriFactory::build('{/prefix}editor/single?{?}&id=' . $value->getId()); ?> printHtml($value->getTitle()); ?> printHtml($value->getCreatedBy()->getName1()); ?> @@ -41,6 +48,9 @@ echo $this->getData('nav')->render(); ?> getHtml('Empty', '0', '0'); ?> -
+