function LayoutBuilderHooks::pluginFilterBlockBlockUiAlter

Implements hook_plugin_filter_TYPE__CONSUMER_alter().

Attributes

#[Hook('plugin_filter_block__block_ui_alter')]

File

core/modules/layout_builder/src/Hook/LayoutBuilderHooks.php, line 308

Class

LayoutBuilderHooks
Hook implementations for layout_builder.

Namespace

Drupal\layout_builder\Hook

Code

public function pluginFilterBlockBlockUiAlter(array &$definitions, array $extra) : void {
  foreach ($definitions as $id => $definition) {
    // Filter out any layout_builder-provided block that has required context
    // definitions.
    if ($definition['provider'] === 'layout_builder' && !empty($definition['context_definitions'])) {
      /** @var \Drupal\Core\Plugin\Context\ContextDefinitionInterface $context_definition */
      foreach ($definition['context_definitions'] as $context_definition) {
        if ($context_definition->isRequired()) {
          unset($definitions[$id]);
          break;

        }
      }
    }
  }
}

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