improvements-2.x-dev/improvements.install

improvements.install
<?php

use Drupal\Core\Entity\Entity\EntityFormDisplay;
use Drupal\druhels\ArrayHelper;
use Drupal\paragraphs\Entity\Paragraph;

/**
 * Implements hook_install().
 */
function improvements_install(): void {
  module_set_weight('improvements', 100);
}

/**
 * Set module weight.
 */
function improvements_update_8004(): void {
  module_set_weight('improvements', 100);
}

/**
 * Install submodules.
 */
function improvements_update_8006(): void {
  \Drupal::service('module_installer')->install([
    'improvements_admin',
    'improvements_comment',
    'improvements_contact',
    'improvements_form',
    'improvements_menu',
    'improvements_node',
    'improvements_site_information',
    'improvements_taxonomy',
    'improvements_title',
    'improvements_toolbar',
    'improvements_views',
  ]);
}

/**
 * Move widgets third party settings to improvements_admin module.
 */
function improvements_update_8007(): void {
  $entity_form_displays = EntityFormDisplay::loadMultiple();

  foreach ($entity_form_displays as $entity_form_display) {
    foreach ($entity_form_display->getComponents() as $component_name => $component_options) {
      if (isset($component_options['third_party_settings']['improvements'])) {
        $component_options['third_party_settings'] = ArrayHelper::renameKey($component_options['third_party_settings'], 'improvements', 'improvements_admin');
        $entity_form_display->setComponent($component_name, $component_options)->save();
      }
    }
  }
}

/**
 * Move stored data from improvements module to improvements_paragraphs.
 */
function improvements_update_8008(): void {
  $paragraphs = Paragraph::loadMultiple();

  foreach ($paragraphs as $paragraph) {
    if ($attributes = $paragraph->getBehaviorSetting('paragraph_html_attributes_behavior', 'attributes')) {
      $paragraph->setBehaviorSettings('html_attributes', ['value' => $attributes]);
      $paragraph->setBehaviorSettings('paragraph_html_attributes_behavior', []);
      $paragraph->save();
    }
  }
}

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

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