classy.theme

Same filename and directory in other branches
  1. 8.9.x core/themes/classy/classy.theme

Functions to support theming in the Classy theme.

No changes that impact functionality should be made to this file, as Classy will be deprecated in Drupal 9. Changes should instead be made in the core themes Bartik, Seven, Claro and/or Umami.

File

core/themes/classy/classy.theme

View source
<?php


/**
 * @file
 * Functions to support theming in the Classy theme.
 *
 * No changes that impact functionality should be made to this file, as Classy
 * will be deprecated in Drupal 9. Changes should instead be made in the core
 * themes Bartik, Seven, Claro and/or Umami.
 */
use Drupal\Core\Form\FormStateInterface;
use Drupal\views\Form\ViewsForm;

/**
 * Implements hook_preprocess_links__media_library_menu().
 *
 * This targets the menu of available media types in the media library's modal
 * dialog.
 *
 * @todo Do this in the relevant template once
 *   https://www.drupal.org/project/drupal/issues/3088856 is resolved.
 */
function classy_preprocess_links__media_library_menu(array &$variables) {
    foreach ($variables['links'] as &$link) {
        $link['link']['#options']['attributes']['class'][] = 'media-library-menu__link';
    }
}

/**
 * Implements hook_form_alter().
 */
function classy_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
    $form_object = $form_state->getFormObject();
    if ($form_object instanceof ViewsForm && strpos($form_object->getBaseFormId(), 'views_form_media_library') === 0) {
        $form['#attributes']['class'][] = 'media-library-views-form';
    }
}

/**
 * Implements hook_preprocess_image_widget().
 */
function classy_preprocess_image_widget(array &$variables) {
    $data =& $variables['data'];
    // This prevents image widget templates from rendering preview container HTML
    // to users that do not have permission to access these previews.
    // @todo revisit in https://drupal.org/node/953034
    // @todo revisit in https://drupal.org/node/3114318
    if (isset($data['preview']['#access']) && $data['preview']['#access'] === FALSE) {
        unset($data['preview']);
    }
}

/**
 * Classy theme is deprecated.
 *
 * No changes that impact functionality should be made to this file, as Classy
 * will be deprecated in Drupal 9. Changes should instead be made in the core
 * themes Bartik, Seven, Claro and/or Umami.
 */

Functions

Title Deprecated Summary
classy_form_alter Implements hook_form_alter().
classy_preprocess_image_widget Implements hook_preprocess_image_widget().
classy_preprocess_links__media_library_menu Implements hook_preprocess_links__media_library_menu().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.