diff --git a/src/Plugin/views/pager/CalendarPager.php b/src/Plugin/views/pager/CalendarPager.php index 99273de..892a2c7 100644 --- a/src/Plugin/views/pager/CalendarPager.php +++ b/src/Plugin/views/pager/CalendarPager.php @@ -95,6 +95,7 @@ class CalendarPager extends PagerPluginBase { $value = $this->getPagerArgValue($mode); $current_position = 0; $arg_vals = []; + $base_path = $this->view->getPath(); /** * @var \Drupal\views\Plugin\views\argument\ArgumentPluginBase $handler */ @@ -120,12 +121,18 @@ class CalendarPager extends PagerPluginBase { if ($this->view->ajaxEnabled()) { $input['view_args'] = implode('/', $arg_vals); } + $query = $input; + + if ($this->view->ajaxEnabled()) { + // Ajax pager (in view block) does not work properly without this. + $query['view_args'] = implode('/', $arg_vals); + } if (!empty($input)) { $url->setOption('query', $input); } - return $url->toString(); + return Url::fromUri('internal:/' . $base_path . '/' . implode('/', $arg_vals), ['query' => $query]); } /**