Zum Hauptinhalt springen

twig_query

Zeitraum
2022 – 2024
Art
Drupal-Modul
Status
archiviert
Lizenz
Open Source
Website
www.drupal.org/project/twig_query

CraftCMS hat mit den Element Queries eine der schönsten Template-APIs, die ich kenne — direkt aus Twig heraus fluent Content abfragen, ohne den Umweg über einen Controller oder ein Preprocess-Hook.

In Drupal gab es dafür nichts Vergleichbares. Also habe ich twig_query bei Roromedia gebaut — als eigenständiges Open-Source-Modul auf Drupal.org, vorgestellt auf der DrupalCon Prag 2022.

Ein Beispiel — verwandte Projekte über Tags finden, ohne den aktuellen Node:

{% set projects = query.entries
    .type('project')
    .where(['field_tags', node.field_tags|map(term => term.entity.tid.0.value), 'IN'])
    .where(['nid', node.nid.0.value, '!='])
    .orderBy('created ASC')
    .limit(3)
    .all() %}

{% for project in projects %}{{ project.title.0.value }}{% endfor %}

Vollständig unit-getestet, kompatibel bis Drupal 11.

Die Drupal-Welt setzt für Content-Komposition traditionell auf Render Arrays — der fluent-Query-Ansatz hat sich nie durchgesetzt. Ich pflege das Modul nicht mehr aktiv; Drupal ist für mich kein Fokus mehr.