TRUE]; $url = Url::fromRoute('entity.node.canonical', ['node' => $node->id()], $options); $system_path = $url->getInternalPath(); $vars['link_attributes'] = new Attribute(array( 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path )); if($node->bundle() == 'enregistrement' && in_array($vars['view_mode'], ['article','transcript'])){ $vars['page'] = true; $vars['sur_title'] = $vars['view_mode']; } } /** * Implements hook_form_alter */ function edlptheme_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) { // dpm($form_id, 'form_id'); // dpm($form, 'form'); $form['name']['#attributes']['placeholder'] = (string) $form['name']['#title']; unset($form['name']['#title']); $form['pass']['#attributes']['placeholder'] = (string) $form['pass']['#title']; unset($form['pass']['#title']); } function edlptheme_preprocess_edlp_home(&$vars){ foreach($vars['nodes'] as &$node){ switch($node['vm']){ case "image_2_columns": $cols = 4; break; case "image_1_columns": $cols = 2; break; case "text_1_column": $cols = 2; break; default: $cols = 3; }; $node['cols'] = $cols; } } function edlptheme_preprocess_edlp_productions(&$vars){ foreach($vars['nodes'] as &$node){ switch($node['vm']){ case "image_2_columns": $cols = 4; break; case "image_1_columns": $cols = 2; break; case "text_1_column": $cols = 2; break; }; $node['cols'] = $cols; } // dpm($vars); } function edlptheme_preprocess_node__enregistrement__index(&$vars){ $node = $vars['elements']['#node']; $options = ['absolute' => TRUE]; $url = Url::fromRoute('entity.node.canonical', ['node' => $node->id()], $options); $system_path = $url->getInternalPath(); // get the audio file url $field_son_values = $node->get('field_son')->getValue(); $son_fid = count($field_son_values) ? $field_son_values[0]['target_id'] : ""; $son_file = \Drupal\file\Entity\File::load($son_fid); $son_url = null; if($son_file){ $son_uri = $son_file->getFileUri(); $son_url = file_create_url($son_uri); } $vars['link_attributes'] = new Attribute(array( 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path, 'audio_url' => $son_url, 'nid' => $node->id(), 'class' => array('audio-link', 'ajax-link') )); // dpm($vars['link_attributes']); } function edlptheme_preprocess_node__enregistrement__search_index(&$vars){ $node = $vars['elements']['#node']; $options = ['absolute' => TRUE]; $url = Url::fromRoute('entity.node.canonical', ['node' => $node->id()], $options); $system_path = $url->getInternalPath(); // get the audio file url $field_son_values = $node->get('field_son')->getValue(); $son_fid = count($field_son_values) ? $field_son_values[0]['target_id'] : ""; $son_file = \Drupal\file\Entity\File::load($son_fid); $son_url = null; if($son_file){ $son_uri = $son_file->getFileUri(); $son_url = file_create_url($son_uri); } $vars['link_attributes'] = new Attribute(array( 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path, 'audio_url' => $son_url, 'nid' => $node->id(), 'class' => array('audio-link', 'ajax-link') )); // dpm($vars['link_attributes']); } function edlptheme_preprocess_node__enregistrement__compo(&$vars){ $node = $vars['elements']['#node']; $options = ['absolute' => TRUE]; $url = Url::fromRoute('entity.node.canonical', ['node' => $node->id()], $options); $system_path = $url->getInternalPath(); // get the audio file url $field_son_values = $node->get('field_son')->getValue(); $son_fid = count($field_son_values) ? $field_son_values[0]['target_id'] : ""; $son_file = \Drupal\file\Entity\File::load($son_fid); $son_url = null; if($son_file){ $son_uri = $son_file->getFileUri(); $son_url = file_create_url($son_uri); } $vars['link_attributes'] = new Attribute(array( 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path, 'audio_url' => $son_url, 'nid' => $node->id(), 'class' => array('audio-link', 'ajax-link') )); // dpm($vars); $title = $vars['label'][0]['#context']['value']; $vars['label'][0]['#context']['value'] = Unicode::truncate($title, 25, true, true); // dpm($vars['link_attributes']); } function edlptheme_preprocess_node__enregistrement__player_cartel(&$vars){ // dpm($vars); $node = $vars['node']; $vars['col_left'] = false; $vars['col_right'] = false; // if transcript not empty $transcript = $node->get('field_transcript_vo'); if(!$transcript->isEmpty()){ $vars['col_left'] = true; $url = Url::fromRoute('entity.node.canonical', ['node'=>$node->id()]); $url->setOptions(array( 'attributes' => array( 'class' => ['link-transcript', 'ajax-link'], 'viewmode'=>'transcript', 'data-drupal-link-system-path' => $url->getInternalPath() ) )); $vars['link_transcript'] = Link::fromTextAndUrl(t("Lire le text."), $url); } // if article not empty $article = $node->get('body'); if(!$article->isEmpty()){ $vars['col_left'] = true; $url = Url::fromRoute('entity.node.canonical', ['node'=>$node->id()]); $url->setOptions(array( 'attributes' => array( 'class' => ['link-article', 'ajax-link'], 'viewmode'=>'article', 'data-drupal-link-system-path' => $url->getInternalPath() ) )); $vars['link_article'] = Link::fromTextAndUrl(t("Lire l'article."), $url); } // relations (defined in edlp_corpus.module) if(isset($vars['content']['relations'])){ // dpm($relations); $vars['col_right'] = true; } if($vars['col_left'] || $vars['col_right']){ $vars['second_cartel'] = true; } } /** * Prepares variables for image formatter templates. * * Default template: image-formatter.html.twig. * * @param array $variables * An associative array containing: * - item: An ImageItem object. * - item_attributes: An optional associative array of html attributes to be * placed in the img tag. * - image_style: An optional image style. * - url: An optional \Drupal\Core\Url object. */ function edlptheme_preprocess_image_formatter(&$vars){ if(isset($vars['url'])){ $system_path = $vars['url']->getInternalPath(); $vars['link_attributes'] = new Attribute(array( 'data-drupal-link-system-path' => $system_path=='' ? '' : $system_path, 'class' => array('ajax-link') )); // dpm($vars); } } function edlptheme_preprocess_links__language_block(&$vars){ // dpm($vars); foreach ($vars['links'] as $lang_code => $link) { $vars['links'][$lang_code]['text'] = $lang_code; $vars['links'][$lang_code]['link']['#title'] = $lang_code; } }