protected function PagererStyleBase::getPageItem in Pagerer 8
Same name and namespace in other branches
- 8.2 src/Plugin/pagerer/PagererStyleBase.php \Drupal\pagerer\Plugin\pagerer\PagererStyleBase::getPageItem()
 
Gets a 'page' item in the pager.
Value returned is dependent on what's being displayed in the pager via the 'display' option, the offset mode selected {absolute|relative}, and whether the page is a progressive one.
Parameters
int $offset: Offset of page to be rendered, from current page.
string $offset_mode: Possible values:
- 'absolute' returns the page/item/item range at offset.
 - 'relative' returns the offset (pages/items) from current.
 
bool $progr_page: TRUE indicates a page outside of neighborhood.
string $title_tag: Title tag [page|first|previous|next|last].
bool $set_query: TRUE indicates to build the query parameters for the link.
Return value
array render array of the page item.
5 calls to PagererStyleBase::getPageItem()
- Adaptive::buildAdaptivePageList in src/
Plugin/ pagerer/ Adaptive.php  - Returns an array of pages using an adaptive logic.
 - Adaptive::buildPageList in src/
Plugin/ pagerer/ Adaptive.php  - Return an array of pages.
 - Progressive::buildPageList in src/
Plugin/ pagerer/ Progressive.php  - Return an array of pages.
 - Progressive::buildProgressivePageList in src/
Plugin/ pagerer/ Progressive.php  - Return an array of pages progressively more distant from current.
 - Standard::buildNeighborhoodPageList in src/
Plugin/ pagerer/ Standard.php  - Return an array of pages in the neighborhood of the current one.
 
File
- src/
Plugin/ pagerer/ PagererStyleBase.php, line 575  
Class
- PagererStyleBase
 - Base plugin for Pagerer.
 
Namespace
Drupal\pagerer\Plugin\pagererCode
protected function getPageItem($offset, $offset_mode = 'absolute', $progr_page = FALSE, $title_tag = 'page', $set_query = TRUE) {
  // Get relevant page tag.
  if ($offset == 0) {
    $page_tag_key = 'page_current';
  }
  else {
    if ($progr_page && $offset_mode == 'relative') {
      $page_tag_key = $offset < 0 ? 'page_previous_relative' : 'page_next_relative';
    }
    else {
      $page_tag_key = $offset < 0 ? 'page_previous' : 'page_next';
    }
  }
  // Return if requested not to display current page.
  if ($offset == 0 && $this
    ->getOption('display_mode') == 'none') {
    return [];
  }
  // Link data.
  // - 'text' holds the the formatted page text.
  // - 'title' holds the the formatted HTML title, used by the browser to
  //   display microhelp text.
  // - 'reader_text' holds the the text used by automated readers.
  // - 'href' holds the HTTP URL link to the destination page.
  // - 'is_current' indicates if the page displayed in the pager is the
  //   current page.
  $ret = [
    'text' => $this
      ->getDisplayTag($page_tag_key, $offset),
    'href' => $this->pager
      ->getHref($this->parameters, $this->pager
      ->getCurrentPage() + $offset, NULL, $set_query),
    'title' => $this
      ->getDisplayTag($title_tag . '_title', $offset),
    'reader_text' => $this
      ->getDisplayTag($title_tag . '_reader', $offset),
    'attributes' => new Attribute(),
  ];
  if ($offset == 0) {
    $ret['is_current'] = TRUE;
  }
  return $ret;
}