breadcrumbs_visibility-8.x-1.x-dev/breadcrumbs_visibility.install

breadcrumbs_visibility.install
<?php

/**
 * @file
 * Installation functions for the Breadcrumbs Visibility module.
 */

/**
 * Implements hook_install().
 */
function breadcrumbs_visibility_install() {
  // Set display_breadcrumbs for existing nodes.
  _breadcrumbs_visibility_update_existing();

  // This module must be called after some other modules (i.e. Scheduler).
  module_set_weight('breadcrumbs_visibility', 99);
}

/**
 * Helper function to update the existing nodes on install.
 *
 * Create the field for existing nodes.
 */
function _breadcrumbs_visibility_update_existing() {
  $connection = \Drupal::service('database');
  // Adding default value to each node.
  $connection->update('node_field_data')
    ->fields([
      'display_breadcrumbs' => 1,
    ])
    ->condition('status', 1, '=')
    ->execute();
  // Grab all node ids and their current vid.
  $query = $connection->query("SELECT nid, vid FROM {node_field_data}");
  $nid_vid_array = $query->fetchAll();
  foreach ($nid_vid_array as $entity) {
    // Adding default value to each node active vid.
    $connection->update('node_field_revision')
      ->fields([
        'display_breadcrumbs' => 1,
      ])
      ->condition('nid', $entity->nid, '=')
      ->condition('vid', $entity->vid, '=')
      ->condition('status', 1, '=')
      ->execute();
  }
  drupal_flush_all_caches();
}

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

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