Am un bloc într-o pagină care este o vizualizare cu un filtru contextual.
Deoarece un bloc nu are o cale, trebuie să furnizez o valoare implicită „valoare brută de la URL” conform descrierii Filtru contextual cu vizualizare bloc
Toate acestea funcționează așa cum ar trebui, vizualizarea din bloc este filtrată în funcție de ultima/a treia componentă a URL-ului, așa cum este configurată în setările filtrului contextual.
Folosesc acest bloc atât într-un mod de prezentare generală în care arată toate entitățile, grupate după un câmp (când lipsește a treia componentă de cale), cât și într-un mod mai detaliat în care vreau doar să arăt entitățile fără titlul grupării.
Deoarece filtrul contextual reduce deja setul de entități la un singur grup, titlul acestui grup este redundant și urât.
Cu toate acestea, când folosesc o „valoare implicită”, configurația filtrului contextual nu mă lasă să suprascriu titlul.
Ceea ce am venit cu - care pare a fi prea mult un hack - este următorul în views-view-grid--{view name}--block.html.twig
{% set parts = url("<curent>")|render|render|split('/') %}
{% dacă părțile[5] este goală %}
{# nu este un bloc filtrat în context, deci arată un titlu #}
{% if title %}
<h2>{{ titlu }}</h2>
{% endif %}
{% endif %}
Număr doar componentele căii, ceea ce mi se pare puțin prea vag.
Există vreo soluție mai bună folosind doar configurația vizualizării (filtrul contextual)? Vreun modul care să extindă opțiunile de configurare a vizualizării?
Sau, alternativ, cum pot determina dacă o vizualizare a primit un filtru contextual în twig? În general, îmi este greu să găsesc „obiectele” disponibile și „metodele”/parametrii lor în twig, deoarece nu am putut găsi o referință bună și completă. De ce trebuie să |red|red, de exemplu? Ce parametri ia funcția url()? Pot număra caracterele dintr-un șir cu crenguță mai ușor decât am făcut mai sus? Indicatorii sunt apreciati.