varbase_heroslider_media.module in Media Hero Slider 9.0.x
File
varbase_heroslider_media.module
View source
<?php
use Drupal\views\ViewExecutable;
use Drupal\media\Entity\Media;
function varbase_heroslider_media_views_pre_render(ViewExecutable $view) {
if (isset($view) && $view->storage
->id() == 'varbase_heroslider_media' && count($view->result) < 1) {
$view->element['#attached']['library'][] = 'varbase_heroslider_media/view-empty';
}
}
function varbase_heroslider_media_theme($existing, $type, $theme, $path) {
return [
'node__varbase_heroslider_media' => [
'template' => 'node--varbase-heroslider-media',
'base hook' => 'node',
],
'media_oembed_iframe__remote_video__varbase_media_hero_slider' => [
'template' => 'media-oembed-iframe--remote-video--varbase-media-hero-slider',
'variables' => [
'provider' => NULL,
'media' => NULL,
],
],
];
}
function varbase_heroslider_media_preprocess_media_oembed_iframe__remote_video__varbase_media_hero_slider(&$variables) {
$query = \Drupal::request()->query;
$variables['type'] = $query
->get('type');
$variables['provider'] = $query
->get('provider');
$variables['view_mode'] = $query
->get('view_mode');
$variables['base_path'] = base_path();
$variables['varbase_heroslider_media_path'] = \Drupal::service('module_handler')
->getModule('varbase_heroslider_media')
->getPath();
}
function varbase_heroslider_media_preprocess_node__varbase_heroslider_media(&$variables) {
$node = $variables['elements']['#node'];
if ($node
->hasField('field_media_single')) {
$media = $node
->get('field_media_single')
->getValue();
}
if (!empty($media)) {
$entity = Media::load($media[0]['target_id']);
$entity_bundle = $entity
->bundle();
if ($entity_bundle == 'remote_video') {
$variables['provider'] = $entity->field_provider->value;
}
}
}