1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- namespace Drupal\Core\Cache\Context;
- use Drupal\Core\Cache\CacheableMetadata;
- use Drupal\Core\Theme\ThemeManagerInterface;
- /**
- * Defines the ThemeCacheContext service, for "per theme" caching.
- *
- * Cache context ID: 'theme'.
- */
- class ThemeCacheContext implements CacheContextInterface {
- /**
- * The theme manager.
- *
- * @var \Drupal\Core\Theme\ThemeManagerInterface
- */
- protected $themeManager;
- /**
- * Constructs a new ThemeCacheContext service.
- *
- * @param \Drupal\Core\Theme\ThemeManagerInterface $theme_manager
- * The theme manager.
- */
- public function __construct(ThemeManagerInterface $theme_manager) {
- $this->themeManager = $theme_manager;
- }
- /**
- * {@inheritdoc}
- */
- public static function getLabel() {
- return t('Theme');
- }
- /**
- * {@inheritdoc}
- */
- public function getContext() {
- return $this->themeManager->getActiveTheme()->getName() ?: 'stark';
- }
- /**
- * {@inheritdoc}
- */
- public function getCacheableMetadata() {
- return new CacheableMetadata();
- }
- }
|