function SectionStorageManager::findByContext

Same name and namespace in other branches
  1. 9 core/modules/layout_builder/src/SectionStorage/SectionStorageManager.php \Drupal\layout_builder\SectionStorage\SectionStorageManager::findByContext()
  2. 10 core/modules/layout_builder/src/SectionStorage/SectionStorageManager.php \Drupal\layout_builder\SectionStorage\SectionStorageManager::findByContext()
  3. 11.x core/modules/layout_builder/src/SectionStorage/SectionStorageManager.php \Drupal\layout_builder\SectionStorage\SectionStorageManager::findByContext()

Overrides SectionStorageManagerInterface::findByContext

File

core/modules/layout_builder/src/SectionStorage/SectionStorageManager.php, line 91

Class

SectionStorageManager
Provides the Section Storage type plugin manager.

Namespace

Drupal\layout_builder\SectionStorage

Code

public function findByContext(array $contexts, RefinableCacheableDependencyInterface $cacheability) {
    $storage_types = array_keys($this->contextHandler
        ->filterPluginDefinitionsByContexts($contexts, $this->getDefinitions()));
    // Add the manager as a cacheable dependency in order to vary by changes to
    // the plugin definitions.
    $cacheability->addCacheableDependency($this);
    foreach ($storage_types as $type) {
        $plugin = $this->load($type, $contexts);
        if ($plugin && $plugin->isApplicable($cacheability)) {
            return $plugin;
        }
    }
    return NULL;
}

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