Drupal twig vă împiedică să utilizați câteva funcții, dar puteți adăuga funcționalități personalizate printr-o extensie personalizată, să spunem get_any_node_field_value
în crenguță:
<div>
{{get_any_node_field_value(nodeId, 'field_my_custom_name')}}
</div>
Acest articol pare să ofere o introducere bună în configurarea unei extensii de crenguță personalizată. Pe scurt:
web/modules/custom/your_module/src/Extension/TwigExtension.php:
<?php
spațiu de nume Drupal\modulul_dvs.\Extensie;
utilizați Twig\Extension\AbstractExtension;
utilizați Twig\TwigFunction;
clasa TwigExtension extinde AbstractExtension {
funcția publică getFunctions(): matrice {
întoarcere [
TwigFunction new('get_any_node_field_value', [$this, 'get_any_node_field_value']),
];
funcția publică get_any_node_field_value ($nodeId, $fieldName) {
// logica ta merge aici
}
}
Vă rugăm să rețineți că acest lucru nu afectează setările dvs. de cache, așa că nu veți primi actualizări automate ale șablonului, dacă nodul X care nu are legătură s-a schimbat. În funcție de cazul dvs. de utilizare, aceasta ar putea să nu fie o problemă, dar s-ar putea să vă cadă mai târziu. Dacă trebuie să vă pese de stocarea în cache, este mai bine să treceți prin preprocesare și să extindeți și etichetele cache.