You are here

public function OverridesSectionStorage::isApplicable in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/layout_builder/src/Plugin/SectionStorage/OverridesSectionStorage.php \Drupal\layout_builder\Plugin\SectionStorage\OverridesSectionStorage::isApplicable()
  2. 10 core/modules/layout_builder/src/Plugin/SectionStorage/OverridesSectionStorage.php \Drupal\layout_builder\Plugin\SectionStorage\OverridesSectionStorage::isApplicable()

Determines if this section storage is applicable for the current contexts.

@internal This method is intended to be called by \Drupal\layout_builder\SectionStorage\SectionStorageManagerInterface::findByContext().

Parameters

\Drupal\Core\Cache\RefinableCacheableDependencyInterface $cacheability: Refinable cacheability object, typically provided by the section storage manager. When implementing this method, populate $cacheability with any information that affects whether this storage is applicable.

Return value

bool TRUE if this section storage is applicable, FALSE otherwise.

Overrides SectionStorageInterface::isApplicable

See also

\Drupal\Core\Cache\RefinableCacheableDependencyInterface

File

core/modules/layout_builder/src/Plugin/SectionStorage/OverridesSectionStorage.php, line 424

Class

OverridesSectionStorage
Defines the 'overrides' section storage type.

Namespace

Drupal\layout_builder\Plugin\SectionStorage

Code

public function isApplicable(RefinableCacheableDependencyInterface $cacheability) {
  $default_section_storage = $this
    ->getDefaultSectionStorage();
  $cacheability
    ->addCacheableDependency($default_section_storage)
    ->addCacheableDependency($this);

  // Check that overrides are enabled and have at least one section.
  return $default_section_storage
    ->isOverridable() && $this
    ->isOverridden();
}