|
|
- <?php
-
- use \Drupal\Component\Utility\Html;
- /**
- * @file
- * Functions to support theming in the vue_js theme.
- */
-
- /**
- * Implements hook_preprocess_HOOK() for html.html.twig.
- */
- function vue_js_preprocess_html(array &$variables) {
- /* Add class to html tag */
- //$variables['html_attributes']->addClass('no-js');
-
- // Don't display the site name twice on the front page (and potentially others)
- /*if (isset($variables['head_title_array']['title']) && isset($variables['head_title_array']['name']) && ($variables['head_title_array']['title'] == $variables['head_title_array']['name'])) {
- $variables['head_title'] = $variables['head_title_array']['name'];
- }*/
- }
-
- /**
- * Implements hook_page_attachments_alter().
- */
- function vue_js_page_attachments_alter(array &$page) {
- // Tell IE to use latest rendering engine (not to use compatibility mode).
- /*$ie_edge = [
- '#type' => 'html_tag',
- '#tag' => 'meta',
- '#attributes' => [
- 'http-equiv' => 'X-UA-Compatible',
- 'content' => 'IE=edge',
- ],
- ];
- $page['#attached']['html_head'][] = [$ie_edge, 'ie_edge'];*/
- }
-
- /**
- * Implements hook_preprocess_page() for page.html.twig.
- */
- function vue_js_preprocess_page(array &$variables) {
- $route = \Drupal::routeMatch()->getRouteName();
- if (stripos($route, 'layout_builder.') !== FALSE) {
- $variables['#attached']['library'][] = 'vue_js/layout-builder-prettier';
- } else {
- // Not a Layout builder route, so let's mark to hide contextual links
- $variables['attributes']['class'][] = 'hide-contextual-links';
- }
- }
-
- /**
- * Implements hook_theme_suggestions_page_alter().
- */
- function vue_js_theme_suggestions_page_alter(array &$suggestions, array $variables) {
-
- }
-
- /**
- * Implements hook_theme_suggestions_node_alter().
- */
- function vue_js_theme_suggestions_node_alter(array &$suggestions, array $variables) {
- /*$node = $variables['elements']['#node'];
-
- if ($variables['elements']['#view_mode'] == "full") {
-
- }*/
- }
-
- /**
- * Implements hook_preprocess_HOOK() for Block document templates.
- */
- function vue_js_preprocess_block(array &$variables) {
- if (isset($variables['content']['#block_content'])) {
- /* @var $block \Drupal\block_content\Entity\BlockContent */
- $block = $variables['content']['#block_content'];
- $type = $block->bundle();
- $variables['block'] = $variables['content']['#block_content'];
-
- $function = __FUNCTION__ . "_{$type}";
- if (function_exists($function)) {
- $function($variables);
- }
- }
- }
-
- /**
- * Implements hook_theme_suggestions_field_alter().
- */
- function vue_js_theme_suggestions_field_alter(array &$suggestions, array $variables) {
- /*$element = $variables['element'];
- $suggestions[] = 'field__' . $element['#view_mode'];
- $suggestions[] = 'field__' . $element['#view_mode'] . '__' . $element['#field_name'];*/
- }
-
- /**
- * Implements hook_theme_suggestions_field_alter().
- */
- function vue_js_theme_suggestions_fieldset_alter(array &$suggestions, array $variables) {
- /*$element = $variables['element'];
- if (isset($element['#attributes']['class']) && in_array('form-composite', $element['#attributes']['class'])) {
- $suggestions[] = 'fieldset__form_composite';
- }*/
- }
-
- /**
- * Implements hook_preprocess_node().
- */
- function vue_js_preprocess_node(array &$variables) {
- /* @var \Drupal\node\Entity\Node $node */
- $node = $variables['node'];
- $type = $node->bundle();
- $view_mode = $variables['view_mode'] ?? NULL;
-
- $variables['attributes']['class'][] = 'node';
- $variables['attributes']['class'][] = 'node__' . Html::cleanCssIdentifier($type);
- if ($view_mode) {
- $variables['attributes']['class'][] = 'node__' . Html::cleanCssIdentifier($type) . '__view_mode_' . Html::cleanCssIdentifier($view_mode);
- }
-
- $function = __FUNCTION__ . "_{$type}";
- if (function_exists($function)) {
- $function($variables);
- }
- }
-
- /**
- * Implements hook_preprocess_paragraph().
- */
- function vue_js_preprocess_paragraph(array &$variables) {
- /* @var \Drupal\paragraphs\Entity\ParagraphsType $paragraph_type */
- $paragraph_type = $variables['elements']['#paragraph']->getParagraphType();
- $function = __FUNCTION__ . "_{$paragraph_type->id()}";
-
- if (function_exists($function)) {
- $function($variables);
- }
- }
-
- function nazarene_org_preprocess_media(array &$variables) {
- $bundle = $variables['media']->bundle();
-
- $function = __FUNCTION__ . "_{$bundle}";
- if (function_exists($function)) {
- $function($variables);
- }
- }
-
- /**
- * Implements hook_theme_suggestions_views_view_alter().
- */
- function vue_js_theme_suggestions_views_view_alter(array &$suggestions, array $variables) {
-
- }
-
- /**
- * Implements hook_preprocess_form().
- */
- function vue_js_preprocess_form(array &$variables) {
- //$variables['attributes']['novalidate'] = 'novalidate';
- }
-
- /**
- * Implements hook_preprocess_select().
- */
- function vue_js_preprocess_select(array &$variables) {
- //$variables['attributes']['class'][] = 'select-chosen';
- }
-
- /**
- * Implements hook_preprocess_field().
- */
- function vue_js_preprocess_field(array &$variables, $hook) {
- /*switch ($variables['element']['#field_name']) {
- }*/
- }
-
- /**
- * Implements hook_preprocess_details().
- */
- function vue_js_preprocess_details(array &$variables) {
- /*$variables['attributes']['class'][] = 'details';
- $variables['summary_attributes']['class'] = 'summary';*/
- }
-
- /**
- * Implements hook_theme_suggestions_details_alter().
- */
- function vue_js_theme_suggestions_details_alter(array &$suggestions, array $variables) {
-
- }
-
- /**
- * Implements hook_preprocess_menu_local_task().
- */
- function vue_js_preprocess_menu_local_task(array &$variables) {
- //$variables['element']['#link']['url']->setOption('attributes', ['class'=>'rounded']);
- }
|