gliderjs-1.0.x-dev/gliderjs.module

gliderjs.module
<?php

/**
 * @file
 * Contains gliderjs.module.
 */

use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\node\NodeInterface;

/**
 * Implements hook_help().
 */
function gliderjs_help($route_name, RouteMatchInterface $route_match) {
  switch ($route_name) {
    // Main module help for the module.
    case 'help.page.gliderjs':
      $text = file_get_contents(__DIR__ . '/README.md');
      if (!Drupal::moduleHandler()->moduleExists('markdown')) {
        return '<pre>' . $text . '</pre>';
      }
      else {
        // Use the Markdown filter to render the README.
        $filter_manager = Drupal::service('plugin.manager.filter');
        $settings = Drupal::configFactory()->get('markdown.settings')->getRawData();
        $config = ['settings' => $settings];
        $filter = $filter_manager->createInstance('markdown', $config);
        return $filter->process($text, 'en');
      }
  }
  return NULL;
}

/**
 * Implements hook_theme().
 */
function gliderjs_theme() {
  return [
    'gliderjs_formatter' => [
      'variables' => [
        'slider_id' => NULL,
        'slides' => NULL,
        'show_arrows' => NULL,
      ],
    ],
    'gliderjs_views' => [
      'file' => 'gliderjs.theme.inc',
      'variables' => [
        'slider_id' => NULL,
        'rows' => NULL,
        'show_arrows' => NULL,
      ],
    ],
  ];
}

/**
 * Implements hook_theme_suggestions_HOOK_alter().
 */
function gliderjs_theme_suggestions_gliderjs_formatter_alter(array &$suggestions, array $variables) {
  $node = \Drupal::routeMatch()->getParameter('node');
  if ($node instanceof NodeInterface) {
    $content_type = $node->getType();
    $suggestions[] = 'gliderjs_formatter__' . $content_type;
    $suggestions[] = 'gliderjs_formatter__' . $content_type . '__' . $node->id();
  }
}

/**
 * Implements hook_theme_suggestions_HOOK_alter().
 */
function gliderjs_theme_suggestions_gliderjs_views_alter(array &$suggestions, array $variables) {
  if (isset($variables['view'])) {
    $suggestions[] = 'gliderjs_views__' . $variables['view']->id() . '__' . $variables['view']->getDisplay()->display['id'];
  }
}

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

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