class 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 \Drupal\Core\Theme\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
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | 
|---|---|---|---|---|
| TestThemeNegotiator::applies | public | function | Whether this theme negotiator should be used to set the theme. | Overrides ThemeNegotiatorInterface::applies | 
| TestThemeNegotiator::determineActiveTheme | public | function | Determine the active theme for the request. | Overrides ThemeNegotiatorInterface::determineActiveTheme | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
