Reader small image

You're reading from  Modernizing Drupal 10 Theme Development

Product typeBook
Published inAug 2023
PublisherPackt
ISBN-139781803238098
Edition1st Edition
Concepts
Right arrow
Author (1)
Luca Lusso
Luca Lusso
author image
Luca Lusso

Luca Lusso is a Drupal developer with more than 15 years experience, he started with Drupal 5 and PHP 5 in an era where deployments with FTP were still a thing. Since then, he worked as a consultant and contributed to build some of the biggest Drupal websites in Italy. Luca is also a teacher and he has taught Drupal to a lot of different teams, from universities to big system integrators. Luca is an open source lover and Drupal contributor, he maintains some popular modules like WebProfiler and Monolog. He's also a speaker in conferences like DrupalCon Europe and Drupal Developer Days. Lately, he has shifted his interest towards frontend performances. Luca holds a master's degree in Computer Science and he's an Acquia certified developer.
Read more about Luca Lusso

Right arrow

Creating a custom Twig filter

Similar to a Twig function used to extract or generate content, a Twig filter can be used to transform a value into something different.

We can use the same WeatherExtension class that we used before to add our custom functions, but this time we’ll implement the getFilters() method:

public function getFilters(): array {
  return [
    new TwigFilter(
      'celsius_to_fahrenheit',
      [$this, 'celsiusToFahrenheit']
    ),
  ];
}

Staying in the field of meteorology, we’ve implemented a Twig filter to convert a temperature value from Celsius to Fahrenheit. The code for the filter is a simple one-line method:

public function celsiusToFahrenheit(
  float $celsius
): float {
  return $celsius * 1.8 + 32;
}

WeatherExtension is already tagged to be a Twig extension (in the...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Modernizing Drupal 10 Theme Development
Published in: Aug 2023Publisher: PacktISBN-13: 9781803238098

Author (1)

author image
Luca Lusso

Luca Lusso is a Drupal developer with more than 15 years experience, he started with Drupal 5 and PHP 5 in an era where deployments with FTP were still a thing. Since then, he worked as a consultant and contributed to build some of the biggest Drupal websites in Italy. Luca is also a teacher and he has taught Drupal to a lot of different teams, from universities to big system integrators. Luca is an open source lover and Drupal contributor, he maintains some popular modules like WebProfiler and Monolog. He's also a speaker in conferences like DrupalCon Europe and Drupal Developer Days. Lately, he has shifted his interest towards frontend performances. Luca holds a master's degree in Computer Science and he's an Acquia certified developer.
Read more about Luca Lusso