class Page

The plugin that handles a full page.

Plugin annotation


@ViewsDisplay(
  id = "page",
  title = @Translation("Page"),
  help = @Translation("Display the view as a page, with a URL and menu links."),
  uses_menu_links = TRUE,
  uses_route = TRUE,
  contextual_links_locations = {"page"},
  theme = "views_view",
  admin = @Translation("Page")
)

Hierarchy

Expanded class hierarchy of Page

Related topics

4 files declare their use of Page
PageTest.php in core/modules/views/tests/src/Unit/Plugin/display/PageTest.php
ViewExecutableTest.php in core/modules/views/tests/src/Kernel/ViewExecutableTest.php
ViewPageController.php in core/modules/views/src/Routing/ViewPageController.php
ViewStorageTest.php in core/modules/views/tests/src/Kernel/ViewStorageTest.php
772 string references to 'Page'
AreaDisplayLinkTest::setUp in core/modules/views/tests/src/Kernel/Handler/AreaDisplayLinkTest.php
ArgumentDateTimeTest::setUp in core/modules/datetime/tests/src/Kernel/Views/ArgumentDateTimeTest.php
ArgumentDefaultTest::testArgumentDefaultNode in core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php
Tests node default argument.
ArgumentDefaultTest::testArgumentDefaultNode in core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php
Tests node default argument.
ArgumentDefaultTest::testArgumentDefaultQueryParameter in core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php
Tests the query parameter default argument.

... See full list

File

core/modules/views/src/Plugin/views/display/Page.php, line 30

Namespace

Drupal\views\Plugin\views\display
View source
class Page extends PathPluginBase {
  
  /**
   * The current page render array.
   *
   * @var array
   */
  protected static $pageRenderArray;
  
  /**
   * Whether the display allows attachments.
   *
   * @var bool
   */
  protected $usesAttachments = TRUE;
  
  /**
   * The menu storage.
   *
   * @var \Drupal\Core\Entity\EntityStorageInterface
   */
  protected $menuStorage;
  
  /**
   * The parent form selector service.
   *
   * @var \Drupal\Core\Menu\MenuParentFormSelectorInterface
   */
  protected $parentFormSelector;
  
  /**
   * Constructs a Page object.
   *
   * @param array $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin_id for the plugin instance.
   * @param mixed $plugin_definition
   *   The plugin implementation definition.
   * @param \Drupal\Core\Routing\RouteProviderInterface $route_provider
   *   The route provider.
   * @param \Drupal\Core\State\StateInterface $state
   *   The state key value store.
   * @param \Drupal\Core\Entity\EntityStorageInterface $menu_storage
   *   The menu storage.
   * @param \Drupal\Core\Menu\MenuParentFormSelectorInterface $parent_form_selector
   *   The parent form selector service.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, RouteProviderInterface $route_provider, StateInterface $state, EntityStorageInterface $menu_storage, MenuParentFormSelectorInterface $parent_form_selector = NULL) {
    parent::__construct($configuration, $plugin_id, $plugin_definition, $route_provider, $state);
    $this->menuStorage = $menu_storage;
    if (!$parent_form_selector) {
      @trigger_error('Calling ' . __METHOD__ . '() without the $parent_form_selector argument is deprecated in drupal:9.3.0 and the $parent_form_selector argument will be required in drupal:10.0.0. See https://www.drupal.org/node/3027559', E_USER_DEPRECATED);
      $parent_form_selector = \Drupal::service('menu.parent_form_selector');
    }
    $this->parentFormSelector = $parent_form_selector;
  }
  
  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container->get('router.route_provider'), $container->get('state'), $container->get('entity_type.manager')
      ->getStorage('menu'), $container->get('menu.parent_form_selector'));
  }
  
  /**
   * {@inheritdoc}
   */
  protected function getRoute($view_id, $display_id) {
    $route = parent::getRoute($view_id, $display_id);
    // Explicitly set HTML as the format for Page displays.
    $route->setRequirement('_format', 'html');
    return $route;
  }
  
  /**
   * Sets the current page views render array.
   *
   * @param array $element
   *   (optional) A render array. If not specified the previous element is
   *   returned.
   *
   * @return array
   *   The page render array.
   */
  public static function &setPageRenderArray(array &$element = NULL) {
    if (isset($element)) {
      static::$pageRenderArray =& $element;
    }
    return static::$pageRenderArray;
  }
  
  /**
   * Gets the current views page render array.
   *
   * @return array
   *   The page render array.
   */
  public static function &getPageRenderArray() {
    return static::$pageRenderArray;
  }
  
  /**
   * {@inheritdoc}
   */
  protected function defineOptions() {
    $options = parent::defineOptions();
    $options['menu'] = [
      'contains' => [
        'type' => [
          'default' => 'none',
        ],
        'title' => [
          'default' => '',
        ],
        'description' => [
          'default' => '',
        ],
        'weight' => [
          'default' => 0,
        ],
        'enabled' => [
          'default' => TRUE,
        ],
        'menu_name' => [
          'default' => 'main',
        ],
        'parent' => [
          'default' => '',
        ],
        'context' => [
          'default' => '',
        ],
        'expanded' => [
          'default' => FALSE,
        ],
      ],
    ];
    $options['tab_options'] = [
      'contains' => [
        'type' => [
          'default' => 'none',
        ],
        'title' => [
          'default' => '',
        ],
        'description' => [
          'default' => '',
        ],
        'weight' => [
          'default' => 0,
        ],
      ],
    ];
    return $options;
  }
  
  /**
   * {@inheritdoc}
   */
  public static function buildBasicRenderable($view_id, $display_id, array $args = [], Route $route = NULL) {
    $build = parent::buildBasicRenderable($view_id, $display_id, $args);
    if ($route) {
      $build['#view_id'] = $route->getDefault('view_id');
      $build['#view_display_plugin_id'] = $route->getOption('_view_display_plugin_id');
      $build['#view_display_show_admin_links'] = $route->getOption('_view_display_show_admin_links');
    }
    else {
      throw new \BadFunctionCallException('Missing route parameters.');
    }
    return $build;
  }
  
  /**
   * {@inheritdoc}
   */
  public function execute() {
    parent::execute();
    // And now render the view.
    $render = $this->view
      ->render();
    // First execute the view so it's possible to get tokens for the title.
    // And the title, which is much easier.
    // @todo Figure out how to support custom response objects. Maybe for pages
    //   it should be dropped.
    if (is_array($render)) {
      $render += [
        '#title' => [
          '#markup' => $this->view
            ->getTitle(),
          '#allowed_tags' => Xss::getHtmlTagList(),
        ],
      ];
    }
    return $render;
  }
  
  /**
   * {@inheritdoc}
   */
  public function optionsSummary(&$categories, &$options) {
    parent::optionsSummary($categories, $options);
    $menu = $this->getOption('menu');
    if (!is_array($menu)) {
      $menu = [
        'type' => 'none',
      ];
    }
    switch ($menu['type']) {
      case 'none':
      default:
        $menu_str = $this->t('No menu');
        break;

      case 'normal':
        $menu_str = $this->t('Normal: @title', [
          '@title' => $menu['title'],
        ]);
        break;

      case 'tab':
      case 'default tab':
        $menu_str = $this->t('Tab: @title', [
          '@title' => $menu['title'],
        ]);
        break;

    }
    $options['menu'] = [
      'category' => 'page',
      'title' => $this->t('Menu'),
      'value' => views_ui_truncate($menu_str, 24),
    ];
    // This adds a 'Settings' link to the style_options setting if the style
    // has options.
    if ($menu['type'] == 'default tab') {
      $options['menu']['setting'] = $this->t('Parent menu link');
      $options['menu']['links']['tab_options'] = $this->t('Change settings for the parent menu');
    }
  }
  
  /**
   * {@inheritdoc}
   */
  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    parent::buildOptionsForm($form, $form_state);
    switch ($form_state->get('section')) {
      case 'menu':
        $form['#title'] .= $this->t('Menu link entry');
        $form['menu'] = [
          '#prefix' => '<div class="clearfix">',
          '#suffix' => '</div>',
          '#tree' => TRUE,
        ];
        $menu = $this->getOption('menu');
        if (empty($menu)) {
          $menu = [
            'type' => 'none',
            'title' => '',
            'weight' => 0,
            'expanded' => FALSE,
          ];
        }
        $form['menu']['type'] = [
          '#prefix' => '<div class="views-left-30">',
          '#suffix' => '</div>',
          '#title' => $this->t('Type'),
          '#type' => 'radios',
          '#options' => [
            'none' => $this->t('No menu entry'),
            'normal' => $this->t('Normal menu entry'),
            'tab' => $this->t('Menu tab'),
            'default tab' => $this->t('Default menu tab'),
          ],
          '#default_value' => $menu['type'],
        ];
        $form['menu']['title'] = [
          '#prefix' => '<div class="views-left-50">',
          '#title' => $this->t('Menu link title'),
          '#type' => 'textfield',
          '#default_value' => $menu['title'],
          '#states' => [
            'visible' => [
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'normal',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'tab',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'default tab',
                ],
              ],
            ],
          ],
        ];
        $form['menu']['description'] = [
          '#title' => $this->t('Description'),
          '#type' => 'textfield',
          '#default_value' => $menu['description'],
          '#description' => $this->t("Shown when hovering over the menu link."),
          '#states' => [
            'visible' => [
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'normal',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'tab',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'default tab',
                ],
              ],
            ],
          ],
        ];
        $form['menu']['expanded'] = [
          '#title' => $this->t('Show as expanded'),
          '#type' => 'checkbox',
          '#default_value' => !empty($menu['expanded']),
          '#description' => $this->t('If selected and this menu link has children, the menu will always appear expanded.'),
        ];
        $menu_parent = $menu['menu_name'] . ':' . $menu['parent'];
        $menu_link = 'views_view:views.' . $form_state->get('view')
          ->id() . '.' . $form_state->get('display_id');
        $form['menu']['parent'] = $this->parentFormSelector
          ->parentSelectElement($menu_parent, $menu_link);
        $form['menu']['parent'] += [
          '#title' => $this->t('Parent'),
          '#description' => $this->t('The maximum depth for a link and all its children is fixed. Some menu links may not be available as parents if selecting them would exceed this limit.'),
          '#attributes' => [
            'class' => [
              'menu-title-select',
            ],
          ],
          '#states' => [
            'visible' => [
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'normal',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'tab',
                ],
              ],
            ],
          ],
        ];
        $form['menu']['weight'] = [
          '#title' => $this->t('Weight'),
          '#type' => 'textfield',
          '#default_value' => $menu['weight'] ?? 0,
          '#description' => $this->t('In the menu, the heavier links will sink and the lighter links will be positioned nearer the top.'),
          '#states' => [
            'visible' => [
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'normal',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'tab',
                ],
              ],
              [
                ':input[name="menu[type]"]' => [
                  'value' => 'default tab',
                ],
              ],
            ],
          ],
        ];
        $form['menu']['context'] = [
          '#title' => $this->t('Context'),
          '#suffix' => '</div>',
          '#type' => 'checkbox',
          '#default_value' => !empty($menu['context']),
          '#description' => $this->t('Displays the link in contextual links'),
          '#states' => [
            'visible' => [
              ':input[name="menu[type]"]' => [
                'value' => 'tab',
              ],
            ],
          ],
        ];
        break;

      case 'tab_options':
        $form['#title'] .= $this->t('Default tab options');
        $tab_options = $this->getOption('tab_options');
        if (empty($tab_options)) {
          $tab_options = [
            'type' => 'none',
            'title' => '',
            'weight' => 0,
          ];
        }
        $form['tab_markup'] = [
          '#markup' => '<div class="js-form-item form-item description">' . $this->t('When providing a menu link as a tab, Drupal needs to know what the parent menu link of that tab will be. Sometimes the parent will already exist, but other times you will need to have one created. The path of a parent link will always be the same path with the last part left off. i.e, if the path to this view is <em>foo/bar/baz</em>, the parent path would be <em>foo/bar</em>.') . '</div>',
        ];
        $form['tab_options'] = [
          '#prefix' => '<div class="clearfix">',
          '#suffix' => '</div>',
          '#tree' => TRUE,
        ];
        $form['tab_options']['type'] = [
          '#prefix' => '<div class="views-left-25">',
          '#suffix' => '</div>',
          '#title' => $this->t('Parent menu link'),
          '#type' => 'radios',
          '#options' => [
            'none' => $this->t('Already exists'),
            'normal' => $this->t('Normal menu link'),
            'tab' => $this->t('Menu tab'),
          ],
          '#default_value' => $tab_options['type'],
        ];
        $form['tab_options']['title'] = [
          '#prefix' => '<div class="views-left-75">',
          '#title' => $this->t('Title'),
          '#type' => 'textfield',
          '#default_value' => $tab_options['title'],
          '#description' => $this->t('If creating a parent menu link, enter the title of the link.'),
          '#states' => [
            'visible' => [
              [
                ':input[name="tab_options[type]"]' => [
                  'value' => 'normal',
                ],
              ],
              [
                ':input[name="tab_options[type]"]' => [
                  'value' => 'tab',
                ],
              ],
            ],
          ],
        ];
        $form['tab_options']['description'] = [
          '#title' => $this->t('Description'),
          '#type' => 'textfield',
          '#default_value' => $tab_options['description'],
          '#description' => $this->t('If creating a parent menu link, enter the description of the link.'),
          '#states' => [
            'visible' => [
              [
                ':input[name="tab_options[type]"]' => [
                  'value' => 'normal',
                ],
              ],
              [
                ':input[name="tab_options[type]"]' => [
                  'value' => 'tab',
                ],
              ],
            ],
          ],
        ];
        $form['tab_options']['weight'] = [
          '#suffix' => '</div>',
          '#title' => $this->t('Tab weight'),
          '#type' => 'textfield',
          '#default_value' => $tab_options['weight'],
          '#size' => 5,
          '#description' => $this->t('If the parent menu link is a tab, enter the weight of the tab. Heavier tabs will sink and the lighter tabs will be positioned nearer to the first menu link.'),
          '#states' => [
            'visible' => [
              ':input[name="tab_options[type]"]' => [
                'value' => 'tab',
              ],
            ],
          ],
        ];
        break;

    }
  }
  
  /**
   * {@inheritdoc}
   */
  public function validateOptionsForm(&$form, FormStateInterface $form_state) {
    parent::validateOptionsForm($form, $form_state);
    if ($form_state->get('section') == 'menu') {
      $path = $this->getOption('path');
      $menu_type = $form_state->getValue([
        'menu',
        'type',
      ]);
      if ($menu_type == 'normal' && strpos($path, '%') !== FALSE) {
        $form_state->setError($form['menu']['type'], $this->t('Views cannot create normal menu links for paths with a % in them.'));
      }
      if ($menu_type == 'default tab' || $menu_type == 'tab') {
        $bits = explode('/', $path);
        $last = array_pop($bits);
        if ($last == '%') {
          $form_state->setError($form['menu']['type'], $this->t('A display whose path ends with a % cannot be a tab.'));
        }
      }
      if ($menu_type != 'none' && $form_state->isValueEmpty([
        'menu',
        'title',
      ])) {
        $form_state->setError($form['menu']['title'], $this->t('Title is required for this menu type.'));
      }
    }
  }
  
  /**
   * {@inheritdoc}
   */
  public function submitOptionsForm(&$form, FormStateInterface $form_state) {
    parent::submitOptionsForm($form, $form_state);
    switch ($form_state->get('section')) {
      case 'menu':
        $menu = $form_state->getValue('menu');
        [$menu['menu_name'], $menu['parent']] = explode(':', $menu['parent'], 2);
        $this->setOption('menu', $menu);
        // send ajax form to options page if we use it.
        if ($form_state->getValue([
          'menu',
          'type',
        ]) == 'default tab') {
          $form_state->get('view')
            ->addFormToStack('display', $this->display['id'], 'tab_options');
        }
        break;

      case 'tab_options':
        $this->setOption('tab_options', $form_state->getValue('tab_options'));
        break;

    }
  }
  
  /**
   * {@inheritdoc}
   */
  public function validate() {
    $errors = parent::validate();
    $menu = $this->getOption('menu');
    if (!empty($menu['type']) && $menu['type'] != 'none' && empty($menu['title'])) {
      $errors[] = $this->t('Display @display is set to use a menu but the menu link text is not set.', [
        '@display' => $this->display['display_title'],
      ]);
    }
    if ($menu['type'] == 'default tab') {
      $tab_options = $this->getOption('tab_options');
      if (!empty($tab_options['type']) && $tab_options['type'] != 'none' && empty($tab_options['title'])) {
        $errors[] = $this->t('Display @display is set to use a parent menu but the parent menu link text is not set.', [
          '@display' => $this->display['display_title'],
        ]);
      }
    }
    return $errors;
  }
  
  /**
   * {@inheritdoc}
   */
  public function getArgumentText() {
    return [
      'filter value not present' => $this->t('When the filter value is <em>NOT</em> in the URL'),
      'filter value present' => $this->t('When the filter value <em>IS</em> in the URL or a default is provided'),
      'description' => $this->t('The contextual filter values are provided by the URL.'),
    ];
  }
  
  /**
   * {@inheritdoc}
   */
  public function getPagerText() {
    return [
      'items per page title' => $this->t('Items per page'),
      'items per page description' => $this->t('Enter 0 for no limit.'),
    ];
  }
  
  /**
   * {@inheritdoc}
   */
  public function calculateDependencies() {
    $dependencies = parent::calculateDependencies();
    $menu = $this->getOption('menu');
    if ($menu['type'] === 'normal' && $menu_entity = $this->menuStorage
      ->load($menu['menu_name'])) {
      $dependencies[$menu_entity->getConfigDependencyKey()][] = $menu_entity->getConfigDependencyName();
    }
    return $dependencies;
  }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function #[\ReturnTypeWillChange] 2
DependencyTrait::$dependencies protected property The object&#039;s dependencies.
DependencyTrait::addDependencies protected function Adds multiple dependencies.
DependencyTrait::addDependency protected function Adds a dependency.
DisplayPluginBase::$display public property The display information coming directly from the view entity.
DisplayPluginBase::$extenders protected property Stores all available display extenders.
DisplayPluginBase::$handlers public property An array of instantiated handlers used in this display.
DisplayPluginBase::$output public property Stores the rendered output of the display.
DisplayPluginBase::$plugins protected property An array of instantiated plugins used in this display.
DisplayPluginBase::$unpackOptions protected static property Static cache for unpackOptions, but not if we are in the UI.
DisplayPluginBase::$usesAJAX protected property Whether the display allows the use of AJAX or not. 2
DisplayPluginBase::$usesAreas protected property Whether the display allows area plugins. 2
DisplayPluginBase::$usesMore protected property Whether the display allows the use of a &#039;more&#039; link or not. 1
DisplayPluginBase::$usesOptions protected property Overrides PluginBase::$usesOptions 1
DisplayPluginBase::$usesPager protected property Whether the display allows the use of a pager or not. 4
DisplayPluginBase::$view public property The top object of a view. Overrides PluginBase::$view
DisplayPluginBase::acceptAttachments public function Overrides DisplayPluginInterface::acceptAttachments
DisplayPluginBase::access public function Overrides DisplayPluginInterface::access
DisplayPluginBase::ajaxEnabled public function Overrides DisplayPluginInterface::ajaxEnabled
DisplayPluginBase::applyDisplayCacheabilityMetadata protected function Applies the cacheability of the current display to the given render array.
DisplayPluginBase::attachTo public function Overrides DisplayPluginInterface::attachTo 2
DisplayPluginBase::buildRenderable public function Overrides DisplayPluginInterface::buildRenderable 1
DisplayPluginBase::buildRenderingLanguageOptions protected function Returns the available rendering strategies for language-aware entities.
DisplayPluginBase::calculateCacheMetadata public function Overrides DisplayPluginInterface::calculateCacheMetadata
DisplayPluginBase::defaultableSections public function Overrides DisplayPluginInterface::defaultableSections 1
DisplayPluginBase::destroy public function Overrides PluginBase::destroy
DisplayPluginBase::displaysExposed public function Overrides DisplayPluginInterface::displaysExposed 2
DisplayPluginBase::elementPreRender public function Overrides DisplayPluginInterface::elementPreRender
DisplayPluginBase::getAllHandlers protected function Gets all the handlers used by the display.
DisplayPluginBase::getAllPlugins protected function Gets all the plugins used by the display.
DisplayPluginBase::getArgumentsTokens public function Overrides DisplayPluginInterface::getArgumentsTokens
DisplayPluginBase::getAttachedDisplays public function Overrides DisplayPluginInterface::getAttachedDisplays
DisplayPluginBase::getCacheMetadata public function Overrides DisplayPluginInterface::getCacheMetadata
DisplayPluginBase::getExtenders public function Overrides DisplayPluginInterface::getExtenders
DisplayPluginBase::getFieldLabels public function Overrides DisplayPluginInterface::getFieldLabels
DisplayPluginBase::getHandler public function Overrides DisplayPluginInterface::getHandler
DisplayPluginBase::getHandlers public function Overrides DisplayPluginInterface::getHandlers
DisplayPluginBase::getLinkDisplay public function Overrides DisplayPluginInterface::getLinkDisplay
DisplayPluginBase::getMoreUrl protected function Get the more URL for this view.
DisplayPluginBase::getOption public function Overrides DisplayPluginInterface::getOption
DisplayPluginBase::getPlugin public function Overrides DisplayPluginInterface::getPlugin
DisplayPluginBase::getRoutedDisplay public function Overrides DisplayPluginInterface::getRoutedDisplay
DisplayPluginBase::getSpecialBlocks public function Overrides DisplayPluginInterface::getSpecialBlocks
DisplayPluginBase::getType public function Overrides DisplayPluginInterface::getType 4
DisplayPluginBase::getUrl public function Overrides DisplayPluginInterface::getUrl
DisplayPluginBase::initDisplay public function Overrides DisplayPluginInterface::initDisplay 1
DisplayPluginBase::isBaseTableTranslatable protected function Returns whether the base table is of a translatable entity type.
DisplayPluginBase::isDefaultDisplay public function Overrides DisplayPluginInterface::isDefaultDisplay 1
DisplayPluginBase::isDefaulted public function Overrides DisplayPluginInterface::isDefaulted
DisplayPluginBase::isEnabled public function Overrides DisplayPluginInterface::isEnabled
DisplayPluginBase::isIdentifierUnique public function Overrides DisplayPluginInterface::isIdentifierUnique
DisplayPluginBase::isMoreEnabled public function Overrides DisplayPluginInterface::isMoreEnabled
DisplayPluginBase::isPagerEnabled public function Overrides DisplayPluginInterface::isPagerEnabled
DisplayPluginBase::mergeDefaults public function Overrides DisplayPluginInterface::mergeDefaults
DisplayPluginBase::mergeHandler protected function Merges handlers default values.
DisplayPluginBase::mergePlugin protected function Merges plugins default values.
DisplayPluginBase::newDisplay public function Overrides DisplayPluginInterface::newDisplay 1
DisplayPluginBase::optionLink public function Overrides DisplayPluginInterface::optionLink
DisplayPluginBase::optionsOverride public function Overrides DisplayPluginInterface::optionsOverride
DisplayPluginBase::outputIsEmpty public function Overrides DisplayPluginInterface::outputIsEmpty
DisplayPluginBase::overrideOption public function Overrides DisplayPluginInterface::overrideOption
DisplayPluginBase::preExecute public function Overrides DisplayPluginInterface::preExecute
DisplayPluginBase::preview public function Overrides DisplayPluginInterface::preview 3
DisplayPluginBase::query public function Overrides PluginBase::query 1
DisplayPluginBase::render public function Overrides DisplayPluginInterface::render 3
DisplayPluginBase::renderArea public function Overrides DisplayPluginInterface::renderArea
DisplayPluginBase::renderFilters public function Overrides DisplayPluginInterface::renderFilters
DisplayPluginBase::renderMoreLink public function Overrides DisplayPluginInterface::renderMoreLink
DisplayPluginBase::renderPager public function Overrides DisplayPluginInterface::renderPager 1
DisplayPluginBase::setOption public function Overrides DisplayPluginInterface::setOption
DisplayPluginBase::setOverride public function Overrides DisplayPluginInterface::setOverride
DisplayPluginBase::trustedCallbacks public static function Overrides PluginBase::trustedCallbacks
DisplayPluginBase::useGroupBy public function Overrides DisplayPluginInterface::useGroupBy
DisplayPluginBase::useMoreAlways public function Overrides DisplayPluginInterface::useMoreAlways
DisplayPluginBase::useMoreText public function Overrides DisplayPluginInterface::useMoreText
DisplayPluginBase::usesAJAX public function Overrides DisplayPluginInterface::usesAJAX 2
DisplayPluginBase::usesAreas public function Overrides DisplayPluginInterface::usesAreas 2
DisplayPluginBase::usesAttachments public function Overrides DisplayPluginInterface::usesAttachments 6
DisplayPluginBase::usesExposed public function Overrides DisplayPluginInterface::usesExposed 3
DisplayPluginBase::usesExposedFormInBlock public function Overrides DisplayPluginInterface::usesExposedFormInBlock 1
DisplayPluginBase::usesFields public function Overrides DisplayPluginInterface::usesFields
DisplayPluginBase::usesLinkDisplay public function Overrides DisplayPluginInterface::usesLinkDisplay 1
DisplayPluginBase::usesMore public function Overrides DisplayPluginInterface::usesMore 1
DisplayPluginBase::usesPager public function Overrides DisplayPluginInterface::usesPager 4
DisplayPluginBase::viewExposedFormBlocks public function Overrides DisplayPluginInterface::viewExposedFormBlocks
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
Page::$menuStorage protected property The menu storage.
Page::$pageRenderArray protected static property The current page render array.
Page::$parentFormSelector protected property The parent form selector service.
Page::$usesAttachments protected property Whether the display allows attachments. Overrides DisplayPluginBase::$usesAttachments
Page::buildBasicRenderable public static function Overrides DisplayPluginBase::buildBasicRenderable
Page::buildOptionsForm public function Overrides PathPluginBase::buildOptionsForm
Page::calculateDependencies public function Overrides DisplayPluginBase::calculateDependencies
Page::create public static function Overrides PathPluginBase::create
Page::defineOptions protected function Overrides PathPluginBase::defineOptions
Page::execute public function Overrides PathPluginBase::execute
Page::getArgumentText public function Overrides DisplayPluginBase::getArgumentText
Page::getPageRenderArray public static function Gets the current views page render array.
Page::getPagerText public function Overrides DisplayPluginBase::getPagerText
Page::getRoute protected function Overrides PathPluginBase::getRoute
Page::optionsSummary public function Overrides PathPluginBase::optionsSummary
Page::setPageRenderArray public static function Sets the current page views render array.
Page::submitOptionsForm public function Overrides PathPluginBase::submitOptionsForm
Page::validate public function Overrides PathPluginBase::validate
Page::validateOptionsForm public function Overrides PathPluginBase::validateOptionsForm
Page::__construct public function Constructs a Page object. Overrides PathPluginBase::__construct
PathPluginBase::$routeProvider protected property The route provider.
PathPluginBase::$state protected property The state key value store.
PathPluginBase::alterRoutes public function Overrides DisplayRouterInterface::alterRoutes
PathPluginBase::collectRoutes public function Overrides DisplayRouterInterface::collectRoutes 1
PathPluginBase::getAlteredRouteNames public function Overrides DisplayRouterInterface::getAlteredRouteNames
PathPluginBase::getMenuLinks public function Overrides DisplayMenuInterface::getMenuLinks
PathPluginBase::getPath public function Overrides DisplayPluginBase::getPath
PathPluginBase::getRouteName public function Overrides DisplayRouterInterface::getRouteName
PathPluginBase::getUrlInfo public function Overrides DisplayRouterInterface::getUrlInfo
PathPluginBase::hasPath public function Overrides DisplayPluginBase::hasPath
PathPluginBase::isDefaultTabPath protected function Determines if this display&#039;s path is a default tab.
PathPluginBase::overrideApplies protected function Determines whether the view overrides the given route. 1
PathPluginBase::overrideAppliesPathAndMethod protected function Determines whether an override for the path and method should happen.
PathPluginBase::remove public function Overrides DisplayPluginBase::remove
PathPluginBase::validatePath protected function Validates the path of the display.
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$definition public property Plugins&#039; definition.
PluginBase::$displayHandler public property The display object this plugin is for.
PluginBase::$options public property Options for this plugin will be held here.
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::$renderer protected property Stores the render API renderer. 3
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::doFilterByDefinedOptions protected function Do the work to filter out stored options depending on the defined options.
PluginBase::filterByDefinedOptions public function Overrides ViewsPluginInterface::filterByDefinedOptions
PluginBase::getAvailableGlobalTokens public function Overrides ViewsPluginInterface::getAvailableGlobalTokens
PluginBase::getBaseId public function Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Overrides PluginInspectionInterface::getPluginDefinition 2
PluginBase::getPluginId public function Overrides PluginInspectionInterface::getPluginId
PluginBase::getProvider public function Overrides ViewsPluginInterface::getProvider
PluginBase::getRenderer protected function Returns the render API renderer. 1
PluginBase::globalTokenForm public function Overrides ViewsPluginInterface::globalTokenForm
PluginBase::globalTokenReplace public function Overrides ViewsPluginInterface::globalTokenReplace
PluginBase::INCLUDE_ENTITY constant Include entity row languages when listing languages.
PluginBase::INCLUDE_NEGOTIATED constant Include negotiated languages when listing languages.
PluginBase::init public function Overrides ViewsPluginInterface::init 6
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::listLanguages protected function Makes an array of languages, optionally including special languages.
PluginBase::pluginTitle public function Overrides ViewsPluginInterface::pluginTitle
PluginBase::preRenderAddFieldsetMarkup public static function Overrides ViewsPluginInterface::preRenderAddFieldsetMarkup
PluginBase::preRenderFlattenData public static function Overrides ViewsPluginInterface::preRenderFlattenData
PluginBase::queryLanguageSubstitutions public static function Returns substitutions for Views queries for languages.
PluginBase::setOptionDefaults protected function Fills up the options of the plugin with defaults.
PluginBase::summaryTitle public function Overrides ViewsPluginInterface::summaryTitle 6
PluginBase::themeFunctions public function Overrides ViewsPluginInterface::themeFunctions 1
PluginBase::unpackOptions public function Overrides ViewsPluginInterface::unpackOptions
PluginBase::usesOptions public function Overrides ViewsPluginInterface::usesOptions 8
PluginBase::viewsTokenReplace protected function Replaces Views&#039; tokens in a given string. 1
PluginBase::VIEWS_QUERY_LANGUAGE_SITE_DEFAULT constant Query string to indicate the site default language.
PluginDependencyTrait::calculatePluginDependencies protected function Calculates and adds dependencies of a specific plugin instance. 1
PluginDependencyTrait::getPluginDependencies protected function Calculates and returns dependencies of a specific plugin instance.
PluginDependencyTrait::moduleHandler protected function Wraps the module handler. 1
PluginDependencyTrait::themeHandler protected function Wraps the theme handler. 1
StringTranslationTrait::$stringTranslation protected property The string translation service. 3
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TrustedCallbackInterface::THROW_EXCEPTION constant Untrusted callbacks throw exceptions.
TrustedCallbackInterface::TRIGGER_SILENCED_DEPRECATION constant Untrusted callbacks trigger silenced E_USER_DEPRECATION errors.
TrustedCallbackInterface::TRIGGER_WARNING constant Untrusted callbacks trigger E_USER_WARNING errors.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.