Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PageVariantInterface.php

interface PageVariantInterface

Provides an interface for PageDisplayVariant plugins.

Page display variants are a specific type of DisplayVariant, intended for "pages", which always have some main content to be rendered. Hence page display variants may choose to render that main content in a certain way: decorated in a certain way, laid out in a certain way, et cetera.

For example, the \Drupal\block\Plugin\DisplayVariant\FullPageVariant page display variant is used by the Block module to control regions and output blocks placed in those regions.

Hierarchy

  • interface \Drupal\Component\Plugin\ConfigurableInterface; interface \Drupal\Component\Plugin\DependentPluginInterface; interface \Drupal\Component\Plugin\PluginInspectionInterface; interface \Drupal\Core\Cache\RefinableCacheableDependencyInterface extends \Drupal\Core\Cache\CacheableDependencyInterface; interface \Drupal\Core\Plugin\PluginFormInterface
    • interface \Drupal\Core\Display\VariantInterface extends \Drupal\Component\Plugin\PluginInspectionInterface \Drupal\Component\Plugin\ConfigurableInterface \Drupal\Component\Plugin\DependentPluginInterface \Drupal\Core\Plugin\PluginFormInterface \Drupal\Core\Cache\RefinableCacheableDependencyInterface
      • interface \Drupal\Core\Display\PageVariantInterface extends \Drupal\Core\Display\VariantInterface

Expanded class hierarchy of PageVariantInterface

All classes that implement PageVariantInterface

See also

\Drupal\Core\Display\Attribute\DisplayVariant

\Drupal\Core\Display\VariantBase

\Drupal\Core\Display\VariantManager

Plugin API

3 files declare their use of PageVariantInterface
BlockPageVariant.php in core/modules/block/src/Plugin/DisplayVariant/BlockPageVariant.php
HtmlRenderer.php in core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php
SimplePageVariant.php in core/lib/Drupal/Core/Render/Plugin/DisplayVariant/SimplePageVariant.php

File

core/lib/Drupal/Core/Display/PageVariantInterface.php, line 22

Namespace

Drupal\Core\Display
View source
interface PageVariantInterface extends VariantInterface {
    
    /**
     * Sets the main content for the page being rendered.
     *
     * @param array $main_content
     *   The render array representing the main content.
     *
     * @return $this
     */
    public function setMainContent(array $main_content);
    
    /**
     * Sets the title for the page being rendered.
     *
     * @param string|array $title
     *   The page title: either a string for plain titles or a render array for
     *   formatted titles.
     *
     * @return $this
     */
    public function setTitle($title);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 30
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 30
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 23
ConfigurableInterface::defaultConfiguration public function Gets default configuration for this plugin. 10
ConfigurableInterface::getConfiguration public function Gets this plugin's configuration. 10
ConfigurableInterface::setConfiguration public function Sets the configuration for this plugin instance. 10
DependentPluginInterface::calculateDependencies public function Calculates dependencies for the configured plugin. 18
PageVariantInterface::setMainContent public function Sets the main content for the page being rendered. 2
PageVariantInterface::setTitle public function Sets the title for the page being rendered. 2
PluginFormInterface::buildConfigurationForm public function Form constructor. 20
PluginFormInterface::submitConfigurationForm public function Form submission handler. 20
PluginFormInterface::validateConfigurationForm public function Form validation handler. 15
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 5
PluginInspectionInterface::getPluginId public function Gets the plugin ID of the plugin instance. 2
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
VariantInterface::access public function Determines if this display variant is accessible. 1
VariantInterface::adminLabel public function Returns the admin-facing display variant label. 1
VariantInterface::build public function Builds and returns the renderable array for the display variant. 2
VariantInterface::getWeight public function Returns the weight of the display variant. 1
VariantInterface::id public function Returns the unique ID for the display variant. 1
VariantInterface::label public function Returns the user-facing display variant label. 1
VariantInterface::setWeight public function Sets the weight of the display variant. 1

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal