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'];
}
}
