Skip to main content

Checking Empty Regions in Drupal 10 with twig

Sometimes we need to check if the page.some_region_a or page.some_region_b is empty and avoid the rendering of empty elements like empty divs (<div class="my-custom-theme-region"></div>)

Below are a few ways to check if that region is actually empty. 

Simple version (often enough):

{% if page.footer|render|striptags|trim is not empty %}
  <footer role="contentinfo">
    {{ page.footer }}
  </footer>
{% endif %}

Safer when HTML wrappers might fool the check:

{% if page.footer|render|striptags|trim is not empty %}
  <footer role="contentinfo">
    {{ page.footer }}
  </footer>
{% endif %}

For very correctness‑sensitive cases, avoid double-rendering:

{% set footer_rendered = page.footer|render %}
{% if footer_rendered|striptags|trim is not empty %}
  <footer role="contentinfo">
    {{ footer_rendered }}
  </footer>
{% endif %}

 
 

 

 
 
 
theming