layout_builder_paragraphs-1.0.x-dev/layout_builder_paragraphs.api.php

layout_builder_paragraphs.api.php
<?php

/**
 * @file
 * Hooks provided by layout_builder_paragraphs.
 */

/**
 * Alter the list of the allowed plugins shown in the layout builder sidebar.
 * @param array &$allowed_plugin_ids
 *   Array of regex patterns to match the allowed plugins.
 * @return void
 */
function hook_layout_builder_paragraphs_allowed_plugins_alter(array &$allowed_plugin_ids) {
  // Add allowed blocks when user has certain permission.
  if \Drupal::currentUser()->hasPermission('some privilege permission') {
    $allowed_plugin_ids = array_merge($allowed_plugin_ids, [
      '^menu',                               // menus
      '^mini_layout',                        // mini layout
      '^webform_block',                      // webform
    ]);
  }
}

/**
 * Alter the list of the DISallowed plugins shown in the layout builder sidebar.
 * @param array &$disallowed_plugin_ids
 *   Array of regex patterns to match the disallowed plugins.
 * @return void
 */
function hook_layout_builder_paragraphs_allowed_plugins_alter(array &$disallowed_plugin_ids) {
  // Add some disallowed blocks.
  $disallowed_plugin_ids = array_merge($disallowed_plugin_ids, [
    '^views_block',                        // views block
  ]);
  // Remove the default disallowed blocks.
  if (isset($disallowed_plugin_ids['views_block:content_recent-block_1']))
    unset($disallowed_plugin_ids['views_block:content_recent-block_1']);
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc