This module provides Twig filters to generate hashes of values using various algorithms, convert numbers between bases, and create unique identifiers. These tools can be useful for generating dynamic class names or ensuring data uniqueness directly within templates.
Twig Hash provides filters to enable hashing (and similar) of values within a Twig template.
Hash:
The md5 of 123 is {{ 123 | hash }}
You can use any of the php hash algorithms by passing their name as a string.
The sha512 of 123 is {{ 123 | hash('sha512') }}
Base convert:
baseConv - convert a number to a different base. Defaults to decimal to hex.
123A hex in base36 is {{ "123A" | baseConv(16,36) }}
Unique ID:
uuid - return a unique id
Here's a unique id {{ uuid() }}
More examples
With twig chaining...
Here's a unique id that's even shorter {{ uuid() | baseConv(16,36) }}
Top tip example - use to create unique class names in block or Display Suite templates.
{% set classId = "bg-" ~ (uuid() | baseConv(16,36)) %}
<style>
@media all and (min-width: 768px) { .{{ classId }} {background-color: red;} }
@media all and (max-width: 767px) { .{{ classId }} {background-color: blue;} }
</style>
<div class='{{ classId }}'>Hello!</div>