TYPO3 CMS  TYPO3_8-7
PaginateViewHelper.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
19 
51 {
55  protected $controller;
56 
60  public function injectPaginateController(\TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\PaginateController $controller)
61  {
62  $this->controller = $controller;
63  }
64 
71  public function initializeArguments()
72  {
73  parent::initializeArguments();
74  $this->registerArgument('objects', 'mixed', 'Object', true);
75  $this->registerArgument('as', 'string', 'as', true);
76  $this->registerArgument('configuration', 'array', 'configuration', false, ['itemsPerPage' => 10, 'insertAbove' => false, 'insertBelow' => true, 'maximumNumberOfLinks' => 99]);
77  }
78 
83  public function render()
84  {
85  $objects = $this->arguments['objects'];
86 
87  if (!($objects instanceof QueryResultInterface || $objects instanceof ObjectStorage || is_array($objects))) {
88  throw new \UnexpectedValueException('Supplied file object type ' . get_class($objects) . ' must be QueryResultInterface or ObjectStorage or be an array.', 1454510731);
89  }
90  return $this->initiateSubRequest();
91  }
92 }
injectPaginateController(\TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\PaginateController $controller)