public function AllowedBlocksForm::__construct in Layout Builder Restrictions 8.2
The ModalFormController constructor.
Parameters
\Symfony\Component\HttpFoundation\RequestStack $request_stack: Request stack that controls the lifecycle of requests.
\Drupal\Core\Block\LayoutPluginManagerInterface $layout_manager: The layout plugin manager.
\Drupal\Core\Entity\EntityTypeManager $entity_type_manager: Manages entity type plugin definitions.
\Drupal\Core\TempStore\PrivateTempStoreFactory $private_temp_store_factory: Creates a private temporary storage for a collection.
\Drupal\Core\Messenger\MessengerInterface $messenger: The messenger service.
\Drupal\Core\Render\Renderer $renderer: Turns a render array into a HTML string.
File
- modules/
layout_builder_restrictions_by_region/ src/ Form/ AllowedBlocksForm.php, line 144
Class
- AllowedBlocksForm
- Provides form for designating allowed blocks.
Namespace
Drupal\layout_builder_restrictions_by_region\FormCode
public function __construct(RequestStack $request_stack, LayoutPluginManagerInterface $layout_manager, EntityTypeManager $entity_type_manager, PrivateTempStoreFactory $private_temp_store_factory, MessengerInterface $messenger, Renderer $renderer) {
$this->requestStack = $request_stack;
$this->layoutManager = $layout_manager;
$this->entityTypeManager = $entity_type_manager;
$this->privateTempStoreFactory = $private_temp_store_factory;
$this->messenger = $messenger;
$this->renderer = $renderer;
// Build data for current form.
$current_request = $this->requestStack
->getCurrentRequest();
$entity_view_display_id = $current_request->query
->get('entity_view_display_id');
$display = $this->entityTypeManager
->getStorage('entity_view_display')
->load($entity_view_display_id);
$this->layoutPluginId = $current_request->query
->get('layout_plugin');
$this->regionId = $current_request->query
->get('region_id');
$this->allowedBlockCategories = $display
->getThirdPartySetting('layout_builder_restrictions', 'allowed_block_categories', []);
$third_party_settings = $display
->getThirdPartySetting('layout_builder_restrictions', 'entity_view_mode_restriction_by_region', []);
$this->whitelistedBlocks = isset($third_party_settings['whitelisted_blocks'][$this->layoutPluginId][$this->regionId]) ? $third_party_settings['whitelisted_blocks'][$this->layoutPluginId][$this->regionId] : [];
$this->blacklistedBlocks = isset($third_party_settings['blacklisted_blocks'][$this->layoutPluginId][$this->regionId]) ? $third_party_settings['blacklisted_blocks'][$this->layoutPluginId][$this->regionId] : [];
$this->restrictedCategories = isset($third_party_settings['restricted_categories'][$this->layoutPluginId][$this->regionId]) ? $third_party_settings['restricted_categories'][$this->layoutPluginId][$this->regionId] : [];
}