localgov_directories-3.3.1/modules/localgov_directories_promo_page/localgov_directories_promo_page.install

modules/localgov_directories_promo_page/localgov_directories_promo_page.install
<?php

/**
 * @file
 * Update functions for the LocalGov Directories Promo Page.
 */

use Drupal\node\Entity\Node;
use Drupal\pathauto\Entity\PathautoPattern;

/**
 * Implements hook_install().
 */
function localgov_directories_promo_page_install($is_syncing): void {
  if ($is_syncing) {
    return;
  }

  // Install default config for simple_sitemap, as this does not appear to work
  // in the config/optional folder.
  // Discussed on https://www.drupal.org/project/simple_sitemap/issues/3156080
  if (\Drupal::moduleHandler()->moduleExists('simple_sitemap')) {
    $generator = \Drupal::service('simple_sitemap.entity_manager');
    $generator->setBundleSettings('node', 'localgov_directory_promo_page', [
      'index' => TRUE,
      'priority' => '0.5',
    ]);
  }
}

/**
 * Adds pathauto pattern if there is not one yet.
 */
function localgov_directories_promo_page_update_8001() {
  $pathauto = \Drupal::service('pathauto.generator');
  $entity = Node::create([
    'type' => 'localgov_directory_promo_page',
  ]);
  $pattern = $pathauto->getPatternByEntity($entity);
  if (empty($pattern)) {
    $pattern = PathautoPattern::create([
      'id' => 'localgov_directories_promo_page',
      'label' => 'Directory Promo Page',
      'type' => 'canonical_entities:node',
      'pattern' => '[node:title]',
      'selection_logic' => 'and',
      'weight' => -5,
    ]);
    $pattern->getSelectionConditions()->addInstanceId(
      'cf0a2bbc-3869-4912-a0e7-0f25ba4fcd1e', [
        'id' => 'entity_bundle:node',
        'bundles' => [
          'localgov_directory_promo_page' => 'localgov_directory_promo_page',
        ],
        'negate' => FALSE,
        'context_mapping' => [
          'node' => 'node',
        ],
        'uuid' => 'cf0a2bbc-3869-4912-a0e7-0f25ba4fcd1e',
      ],
    );
    $pattern->save();
  }
}

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

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