class TestThemeNegotiator in Drupal 9
Same name and namespace in other branches
- 8 core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php \Drupal\menu_test\Theme\TestThemeNegotiator
- 10 core/modules/system/tests/modules/menu_test/src/Theme/TestThemeNegotiator.php \Drupal\menu_test\Theme\TestThemeNegotiator
Tests the theme negotiation functionality.
Retrieves the theme key of the theme to use for the current request based on the theme name provided in the URL.
Hierarchy
- class \Drupal\menu_test\Theme\TestThemeNegotiator implements ThemeNegotiatorInterface
Expanded class hierarchy of TestThemeNegotiator
1 string reference to 'TestThemeNegotiator'
- menu_test.services.yml in core/
modules/ system/ tests/ modules/ menu_test/ menu_test.services.yml - core/modules/system/tests/modules/menu_test/menu_test.services.yml
1 service uses TestThemeNegotiator
- theme.negotiator.test_theme in core/
modules/ system/ tests/ modules/ menu_test/ menu_test.services.yml - Drupal\menu_test\Theme\TestThemeNegotiator
File
- core/
modules/ system/ tests/ modules/ menu_test/ src/ Theme/ TestThemeNegotiator.php, line 14
Namespace
Drupal\menu_test\ThemeView source
class TestThemeNegotiator implements ThemeNegotiatorInterface {
/**
* {@inheritdoc}
*/
public function applies(RouteMatchInterface $route_match) {
return (bool) $route_match
->getParameter('inherited');
}
/**
* {@inheritdoc}
*/
public function determineActiveTheme(RouteMatchInterface $route_match) {
$argument = $route_match
->getParameter('inherited');
// Test using the variable administrative theme.
if ($argument == 'use-admin-theme') {
return \Drupal::config('system.theme')
->get('admin');
}
elseif ($argument == 'use-test-theme') {
return 'test_theme';
}
elseif ($argument == 'use-fake-theme') {
return 'fake_theme';
}
// For any other value of the URL argument, do not return anything. This
// allows us to test that returning nothing from a theme negotiation
// causes the page to correctly fall back on using the main site theme.
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TestThemeNegotiator:: |
public | function |
Whether this theme negotiator should be used to set the theme. Overrides ThemeNegotiatorInterface:: |
|
TestThemeNegotiator:: |
public | function |
Determine the active theme for the request. Overrides ThemeNegotiatorInterface:: |