class ThemeTestController
Controller routines for theme test routes.
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements \Drupal\Core\DependencyInjection\ContainerInjectionInterface uses \Drupal\Core\Logger\LoggerChannelTrait, \Drupal\Core\Messenger\MessengerTrait, \Drupal\Core\Routing\RedirectDestinationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait- class \Drupal\theme_test\ThemeTestController extends \Drupal\Core\Controller\ControllerBase
 
Expanded class hierarchy of ThemeTestController
File
- 
              core/modules/ system/ tests/ modules/ theme_test/ src/ ThemeTestController.php, line 11 
Namespace
Drupal\theme_testView source
class ThemeTestController extends ControllerBase {
  
  /**
   * Adds stylesheets to test theme .info.yml property processing.
   *
   * @return array
   *   A render array containing custom stylesheets.
   */
  public function testInfoStylesheets() {
    return [
      '#attached' => [
        'library' => [
          'theme_test/theme_stylesheets_override_and_remove_test',
        ],
      ],
    ];
  }
  
  /**
   * Tests template overriding based on filename.
   *
   * @return array
   *   A render array containing a theme override.
   */
  public function testTemplate() {
    return [
      '#markup' => \Drupal::theme()->render('theme_test_template_test', []),
    ];
  }
  
  /**
   * Tests the inline template functionality.
   *
   * @return array
   *   A render array containing an inline template.
   */
  public function testInlineTemplate() {
    $element = [];
    $element['test'] = [
      '#type' => 'inline_template',
      '#template' => 'test-with-context {{ llama }}',
      '#context' => [
        'llama' => 'muuh',
      ],
    ];
    return $element;
  }
  
  /**
   * Calls a theme hook suggestion.
   *
   * @return string
   *   An HTML string containing the themed output.
   */
  public function testSuggestion() {
    return [
      '#markup' => \Drupal::theme()->render([
        'theme_test__suggestion',
        'theme_test',
      ], []),
    ];
  }
  
  /**
   * Tests themed output generated in a request listener.
   *
   * @return string
   *   Content in theme_test_output GLOBAL.
   */
  public function testRequestListener() {
    return [
      '#markup' => $GLOBALS['theme_test_output'],
    ];
  }
  
  /**
   * Menu callback for testing suggestion alter hooks with template files.
   */
  public function suggestionProvided() {
    return [
      '#theme' => 'theme_test_suggestion_provided',
    ];
  }
  
  /**
   * Menu callback for testing suggestion alter hooks with template files.
   */
  public function suggestionAlter() {
    return [
      '#theme' => 'theme_test_suggestions',
    ];
  }
  
  /**
   * Menu callback for testing hook_theme_suggestions_alter().
   */
  public function generalSuggestionAlter() {
    return [
      '#theme' => 'theme_test_general_suggestions',
    ];
  }
  
  /**
   * Menu callback for testing suggestion alter hooks with specific suggestions.
   */
  public function specificSuggestionAlter() {
    return [
      '#theme' => 'theme_test_specific_suggestions__variant',
    ];
  }
  
  /**
   * Controller to ensure that no theme is initialized.
   *
   * @return \Symfony\Component\HttpFoundation\JsonResponse
   *   The json response with the theme initialized information.
   */
  public function nonHtml() {
    $theme_initialized = \Drupal::theme()->hasActiveTheme();
    return new JsonResponse([
      'theme_initialized' => $theme_initialized,
    ]);
  }
  
  /**
   * Controller for testing preprocess functions with theme suggestions.
   */
  public function preprocessSuggestions() {
    return [
      [
        '#theme' => 'theme_test_preprocess_suggestions',
        '#foo' => 'suggestion',
      ],
      [
        '#theme' => 'theme_test_preprocess_suggestions',
        '#foo' => 'kitten',
      ],
      [
        '#theme' => 'theme_test_preprocess_suggestions',
        '#foo' => 'monkey',
      ],
      [
        '#theme' => 'theme_test_preprocess_suggestions__kitten__flamingo',
      ],
    ];
  }
  
  /**
   * Controller for testing callable preprocess functions.
   */
  public function preprocessCallback() {
    return [
      '#theme' => 'theme_test_preprocess_callback',
    ];
  }
  
  /**
   * Controller for testing a namespaced class in a theme.
   */
  public function testThemeClass() {
    return [
      '#theme' => 'theme_test_theme_class',
      '#title' => 'Testing loading a class from a .theme file',
    ];
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides | 
|---|---|---|---|---|---|
| ControllerBase::$configFactory | protected | property | The configuration factory. | ||
| ControllerBase::$currentUser | protected | property | The current user service. | 3 | |
| ControllerBase::$entityFormBuilder | protected | property | The entity form builder. | ||
| ControllerBase::$entityTypeManager | protected | property | The entity type manager. | ||
| ControllerBase::$formBuilder | protected | property | The form builder. | 1 | |
| ControllerBase::$keyValue | protected | property | The key-value storage. | 1 | |
| ControllerBase::$languageManager | protected | property | The language manager. | 1 | |
| ControllerBase::$moduleHandler | protected | property | The module handler. | 1 | |
| ControllerBase::$stateService | protected | property | The state service. | ||
| ControllerBase::cache | protected | function | Returns the requested cache bin. | ||
| ControllerBase::config | protected | function | Retrieves a configuration object. | ||
| ControllerBase::container | private | function | Returns the service container. | ||
| ControllerBase::create | public static | function | Instantiates a new instance of this class. | Overrides ContainerInjectionInterface::create | 49 | 
| ControllerBase::currentUser | protected | function | Returns the current user. | 3 | |
| ControllerBase::entityFormBuilder | protected | function | Retrieves the entity form builder. | ||
| ControllerBase::entityTypeManager | protected | function | Retrieves the entity type manager. | ||
| ControllerBase::formBuilder | protected | function | Returns the form builder service. | 1 | |
| ControllerBase::keyValue | protected | function | Returns a key/value storage collection. | 1 | |
| ControllerBase::languageManager | protected | function | Returns the language manager service. | 1 | |
| ControllerBase::moduleHandler | protected | function | Returns the module handler. | 1 | |
| ControllerBase::redirect | protected | function | Returns a redirect response object for the specified route. | ||
| ControllerBase::state | protected | function | Returns the state storage service. | ||
| LoggerChannelTrait::$loggerFactory | protected | property | The logger channel factory service. | ||
| LoggerChannelTrait::getLogger | protected | function | Gets the logger for a specific channel. | ||
| LoggerChannelTrait::setLoggerFactory | public | function | Injects the logger channel factory. | ||
| MessengerTrait::$messenger | protected | property | The messenger. | 27 | |
| MessengerTrait::messenger | public | function | Gets the messenger. | 27 | |
| MessengerTrait::setMessenger | public | function | Sets the messenger. | ||
| RedirectDestinationTrait::$redirectDestination | protected | property | The redirect destination service. | 1 | |
| RedirectDestinationTrait::getDestinationArray | protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | ||
| RedirectDestinationTrait::getRedirectDestination | protected | function | Returns the redirect destination service. | ||
| RedirectDestinationTrait::setRedirectDestination | public | function | Sets the redirect destination service. | ||
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | |
| StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | ||
| StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | ||
| StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | ||
| StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | |
| StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. | ||
| ThemeTestController::generalSuggestionAlter | public | function | Menu callback for testing hook_theme_suggestions_alter(). | ||
| ThemeTestController::nonHtml | public | function | Controller to ensure that no theme is initialized. | ||
| ThemeTestController::preprocessCallback | public | function | Controller for testing callable preprocess functions. | ||
| ThemeTestController::preprocessSuggestions | public | function | Controller for testing preprocess functions with theme suggestions. | ||
| ThemeTestController::specificSuggestionAlter | public | function | Menu callback for testing suggestion alter hooks with specific suggestions. | ||
| ThemeTestController::suggestionAlter | public | function | Menu callback for testing suggestion alter hooks with template files. | ||
| ThemeTestController::suggestionProvided | public | function | Menu callback for testing suggestion alter hooks with template files. | ||
| ThemeTestController::testInfoStylesheets | public | function | Adds stylesheets to test theme .info.yml property processing. | ||
| ThemeTestController::testInlineTemplate | public | function | Tests the inline template functionality. | ||
| ThemeTestController::testRequestListener | public | function | Tests themed output generated in a request listener. | ||
| ThemeTestController::testSuggestion | public | function | Calls a theme hook suggestion. | ||
| ThemeTestController::testTemplate | public | function | Tests template overriding based on filename. | ||
| ThemeTestController::testThemeClass | public | function | Controller for testing a namespaced class in a theme. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
