diff --git a/core/lib/Drupal/Core/Template/TwigExtension.php b/core/lib/Drupal/Core/Template/TwigExtension.php index 4cb31ca..a237e10 100644 --- a/core/lib/Drupal/Core/Template/TwigExtension.php +++ b/core/lib/Drupal/Core/Template/TwigExtension.php @@ -50,6 +50,10 @@ public function getFilters() { // Array filters. new \Twig_SimpleFilter('without', 'twig_without'), + + // CSS class and ID filters. + new \Twig_SimpleFilter('class', 'drupal_html_class'), + new \Twig_SimpleFilter('id', 'drupal_html_id'), ); } diff --git a/core/modules/system/src/Tests/Theme/TwigFilterTest.php b/core/modules/system/src/Tests/Theme/TwigFilterTest.php index 9b514d7..2e6a898 100644 --- a/core/modules/system/src/Tests/Theme/TwigFilterTest.php +++ b/core/modules/system/src/Tests/Theme/TwigFilterTest.php @@ -120,6 +120,10 @@ public function testTwigWithoutFilter() { 'expected' => '
All attributes again.
', 'message' => 'All attributes printed again.', ), + array( + 'expected' => '
ID and class.
', + 'message' => 'Class and ID filtered.', + ), ); foreach ($elements as $element) { diff --git a/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.filter.html.twig b/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.filter.html.twig index 28e5c15..02eaa9c 100644 --- a/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.filter.html.twig +++ b/core/modules/system/tests/modules/twig_theme_test/templates/twig_theme_test.filter.html.twig @@ -20,3 +20,4 @@
Without string attribute.
Without either nor class attributes.
All attributes again.
+
ID and class.