ILIAS  release_8 Revision v8.23
many_pages_dropdown.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
8 {
9  global $DIC;
10  $factory = $DIC->ui()->factory();
11  $renderer = $DIC->ui()->renderer();
12  $url = $DIC->http()->request()->getRequestTarget();
13  $refinery = $DIC->refinery();
14  $request_wrapper = $DIC->http()->wrapper()->query();
15 
16  $parameter_name = 'page3';
17  $current_page = 0;
18  if ($request_wrapper->has($parameter_name)) {
19  $current_page = $request_wrapper->retrieve($parameter_name, $refinery->kindlyTo()->int());
20  }
21 
22  $pagination = $factory->viewControl()->pagination()
23  ->withTargetURL($url, $parameter_name)
24  ->withTotalEntries(102)
25  ->withPageSize(10)
26  ->withDropdownAt(5)
27  ->withCurrentPage($current_page);
28 
29  $custom_pagination = $pagination
30  ->withDropdownLabel('current page is %1$d (of %2$d pages in total)');
31 
32  list($range_offset, $range_length) = $pagination->getRange()->unpack();
33  $result = "Show $range_length entries starting at $range_offset";
34 
35  return $renderer->render([$pagination, $custom_pagination])
36  . '<hr>'
37  . $result;
38 }
global $DIC
Definition: feed.php:28
$url
$factory
Definition: metadata.php:75
Refinery Factory $refinery