mdrop_suite-1.0.0-alpha1/modules/mdrop_suite_layout_builder/mdrop_suite_layout_builder.module

modules/mdrop_suite_layout_builder/mdrop_suite_layout_builder.module
<?php

/**
 * @file
 * Mdrop Suite - Layout builder.
 */

use Drupal\mdrop_suite_layout_builder\MdropSuiteLayoutBuilderPreRender;
use Drupal\layout_builder\Form\OverridesEntityForm;
use Drupal\layout_builder\Form\DefaultsEntityForm;
use Drupal\Core\Form\FormStateInterface;

/**
 * Implements hook_element_info_alter().
 */
function mdrop_suite_layout_builder_element_info_alter(array &$types) {
  if (isset($types['layout_builder'])) {
    $types['layout_builder']['#pre_render'][] = [
      MdropSuiteLayoutBuilderPreRender::class,
      'preRender',
    ];
  }
}

/**
 * Implements hook_module_implements_alter().
 */
function mdrop_suite_layout_builder_module_implements_alter(&$implementations, $hook) {
  switch ($hook) {
    case 'element_info_alter':
      $group = $implementations['mdrop_suite_layout_builder'];
      unset($implementations['mdrop_suite_layout_builder']);
      $implementations['mdrop_suite_layout_builder'] = $group;
      break;
  }
}

/**
 * Implements hook_form_alter().
 */
function mdrop_suite_layout_builder_form_alter(&$form, FormStateInterface $form_state) {
  if ($form_state->getFormObject() instanceof OverridesEntityForm || $form_state->getFormObject() instanceof DefaultsEntityForm) {
    $form['#theme_wrappers']['container'] = ['#attributes' => ['class' => ['container'], 'id' => 'layout-builder-form-wrapper']];
  }
}

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

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