You are here

views_delimited_list.module in Views Delimited List 2.x

Same filename and directory in other branches
  1. 6 views_delimited_list.module
  2. 7 views_delimited_list.module

Views comma-separated list.

File

views_delimited_list.module
View source
<?php

/**
 * @file
 * Views comma-separated list.
 */
use Drupal\views_delimited_list\Plugin\views\style\ViewsDelimitedListStyle;
use Drupal\views_delimited_list\ViewsDelimitedList;

/**
 * Implements hook_theme().
 */
function views_delimited_list_theme() {
  return [
    'views_delimited_list_fields' => [
      'variables' => [],
    ],
  ];
}

/**
 * Implements hook_theme_registry_alter().
 */
function views_delimited_list_theme_registry_alter(&$hooks) {

  // Copy variables from the original theme hook.
  $hooks['views_delimited_list_fields']['variables'] = $hooks['views_view_fields']['variables'];
  $hooks['views_view_delimited_list']['variables'] = $hooks['views_view']['variables'];
}

/**
 * Implements template_preprocess_HOOK().
 */
function template_preprocess_views_view_delimited_list(&$variables) {
  $view = $variables['view'];
  $rows = $variables['rows'];
  $list = new ViewsDelimitedList($view, $rows);
  $variables['has_delimiter'] = $list
    ->getDelimiters();
  $variables['has_conjunctive'] = $list
    ->getConjunctives();
  $variables['options'] = $view->style_plugin->options;
}

/**
 * Implements hook_preprocess_HOOK() for views_view_fields.
 */
function views_delimited_list_preprocess_views_view_fields(&$variables) {
  if (class_exists('ViewsDelimitedListStyle') && $variables['view']->style_plugin instanceof ViewsDelimitedListStyle) {

    // Inject the view template name to dispose Drupal
    // towards using our template.
    array_unshift($variables['theme_hook_suggestions'], 'views_delimited_list_fields');
  }
}