bootstrap_italia-8.x-0.x-dev/modules/bootstrap_italia_views_gallery/bootstrap_italia_views_gallery.module

modules/bootstrap_italia_views_gallery/bootstrap_italia_views_gallery.module
<?php

/**
 * @file
 * Gallery Views module help and theme functions.
 */

use Drupal\bootstrap_italia_views_gallery\Plugin\views\style\GalleryStyle;

/**
 * Implements hook_theme().
 *
 * Ref: https://www.drupal.org/project/coding_standards/issues/3056368
 *
 * @phpstan-ignore missingType.parameter, missingType.parameter, missingType.parameter, missingType.parameter, missingType.iterableValue
 */
function bootstrap_italia_views_gallery_style_theme($existing, $type, $theme, $path): array {
  return [
    'views_bootstrap_italia_views_gallery' => [
      'variables' => [
        'view' => NULL,
        'rows' => NULL,
        'options' => NULL,
      ],
    ],
  ];
}

/**
 * Prepares variables for bootstrap list templates.
 *
 * Default template: views-bootstrap-italia-views-gallery.html.twig.
 *
 * @param array<string, mixed> $variables
 *   An associative array containing:
 *   - view: A ViewExecutable object.
 *   - rows: The raw row data.
 */
function template_preprocess_views_bootstrap_italia_views_gallery(array &$variables): void {
  // Update options for twig.
  $variables['options'] = $variables['view']->style_plugin->options;
}

/**
 * Implements hook_theme_suggestions_block_alter().
 *
 * Ref: https://www.drupal.org/project/coding_standards/issues/3056368
 *
 * @phpstan-ignore missingType.iterableValue, missingType.iterableValue
 */
function bootstrap_italia_views_gallery_theme_suggestions_block_alter(array &$suggestions, array $variables): void {
  if (isset($variables['elements']['content']['#view'])) {
    $view = $variables['elements']['content']['#view'];

    // @todo This condition is always false?
    if ($view->style_plugin instanceof GalleryStyle) {
      $suggestions[] = 'block__views_views_bi_gallery__' . $view->id();
      $suggestions[] = 'block__views_views_bi_gallery';
    }
  }
}

/**
 * Implements hook_theme_suggestions_views_view_alter().
 *
 * Ref: https://www.drupal.org/project/coding_standards/issues/3056368
 *
 * @phpstan-ignore missingType.iterableValue, missingType.iterableValue
 */
function bootstrap_italia_views_gallery_theme_suggestions_views_view_alter(array &$suggestions, array $variables): void {
  if ($variables['view']->style_plugin instanceof GalleryStyle) {
    $suggestions[] = $variables['theme_hook_original'] . '_bi_gallery__' . $variables['view']->storage->id();
    $suggestions[] = $variables['theme_hook_original'] . '_bi_gallery';
  }
}

/**
 * Implements hook_theme_suggestions_HOOK_alter().
 *
 * Ref: https://www.drupal.org/project/coding_standards/issues/3056368
 *
 * @phpstan-ignore missingType.iterableValue, missingType.iterableValue
 */
function bootstrap_italia_views_gallery_theme_suggestions_views_bootstrap_italia_views_gallery_alter(array &$suggestions, array $variables): void {
  if ($variables['view']->style_plugin instanceof GalleryStyle) {
    $suggestions[] = $variables['theme_hook_original'] . '_bi_gallery__' . $variables['view']->storage->id();
    $suggestions[] = $variables['theme_hook_original'] . '_bi_gallery';
  }
}

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

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