entity_hierarchy-8.x-2.24/modules/entity_hierarchy_microsite/entity_hierarchy_microsite.install
modules/entity_hierarchy_microsite/entity_hierarchy_microsite.install
<?php /** * @file * Contains entity hierarchy microsite updates. */ declare(strict_types=1); use Drupal\Core\Field\BaseFieldDefinition; /** * Flag any existing menu links as discovered. */ function entity_hierarchy_microsite_update_9401(): void { // Mark all menu items from entity-hierarchy microsite as 'discovered'. \Drupal::database()->update('menu_tree') ->fields(['discovered' => 1]) ->condition('menu_name', 'entity-hierarchy-microsite') ->condition('provider', 'entity_hierarchy_microsite') ->execute(); } /** * Add the generate_menu field. */ function entity_hierarchy_microsite_update_9402(): void { $menu_field = BaseFieldDefinition::create('boolean') ->setLabel('Generate menu') ->setDisplayOptions('view', [ 'label' => 'hidden', 'type' => 'boolean', 'weight' => -5, ]) ->setDisplayOptions('form', [ 'type' => 'checkbox', 'weight' => -5, ]) ->setDisplayConfigurable('view', TRUE) ->setDisplayConfigurable('form', TRUE); \Drupal::entityDefinitionUpdateManager()->installFieldStorageDefinition('generate_menu', 'entity_hierarchy_microsite', 'entity_hierarchy_microsite', $menu_field); // Set value to replicate existing, but not setInitialValue because we want // the default off. /** @var \Drupal\entity_hierarchy_microsite\Entity\Microsite[] $microsites */ $microsites = \Drupal::entityTypeManager()->getStorage('entity_hierarchy_microsite')->loadMultiple(); foreach ($microsites as $microsite) { $microsite->set('generate_menu', TRUE); $microsite->save(); } }