function LayoutBuilderContextTrait::getPopulatedContexts
Returns all populated contexts, both global and section-storage-specific.
Parameters
\Drupal\layout_builder\SectionStorageInterface $section_storage: The section storage.
Return value
\Drupal\Core\Plugin\Context\ContextInterface[] The array of context objects.
7 calls to LayoutBuilderContextTrait::getPopulatedContexts()
- ChooseBlockController::build in core/modules/ layout_builder/ src/ Controller/ ChooseBlockController.php 
- Provides the UI for choosing a new block.
- ChooseBlockController::inlineBlockList in core/modules/ layout_builder/ src/ Controller/ ChooseBlockController.php 
- Provides the UI for choosing a new inline block.
- ChooseSectionController::build in core/modules/ layout_builder/ src/ Controller/ ChooseSectionController.php 
- Choose a layout plugin to add as a section.
- ConfigureBlockFormBase::doBuildForm in core/modules/ layout_builder/ src/ Form/ ConfigureBlockFormBase.php 
- Builds the form for the block.
- ConfigureSectionForm::buildForm in core/modules/ layout_builder/ src/ Form/ ConfigureSectionForm.php 
- Form constructor.
File
- 
              core/modules/ layout_builder/ src/ Context/ LayoutBuilderContextTrait.php, line 42 
Class
- LayoutBuilderContextTrait
- Provides a wrapper around getting contexts from a section storage object.
Namespace
Drupal\layout_builder\ContextCode
protected function getPopulatedContexts(SectionStorageInterface $section_storage) : array {
  // Get all known globally available contexts IDs.
  $available_context_ids = array_keys($this->contextRepository()
    ->getAvailableContexts());
  // Filter to those that are populated.
  $contexts = array_filter($this->contextRepository()
    ->getRuntimeContexts($available_context_ids), function (ContextInterface $context) {
    return $context->hasContextValue();
  });
  // Add in the per-section_storage contexts.
  $contexts += $section_storage->getContextsDuringPreview();
  return $contexts;
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
