Apunts diversos de modificacions de plantilles twig a Drupal 8

Alguns apunts de canvis i modificacions a les plantilles twig del meu últim projecte desenvolupat amb Drupal 8. Teniu un genial cheat sheed en format pdf ací amb varibles per a html.html.twig, node.html.twig, page.html.twig, block.html.twig, comment.html.twig i més.
Si estem a la pàgina principal i volem fer coses per codi:
{% if is_front %}
bla bla bla
{% endif %}
Si volem modificar i configurar coses segons la url actual, primer de tot, dins de la funció "function drupal8_zymphonies_theme_preprocess_page(&$variables) {" al fitxer TEMA.theme afegim:
// Vull saber el path
$variables['el_path'] = $current_path = \Drupal::request()->getRequestUri();
I ara, a continuació, ja podem afegir a les plantilles twig els condicionals:
{% if el_path == '/es/proyecto' or el_path == '/proyecto' %}
texto per a la pàgina Proyecto
{% endif %}
Modificacions i configuracions segons el path amb un else:
{% if el_path == '/es/proyecto' or el_path == '/proyecto' %}
texto per a la pàgina Proyecto
{% else %}
texto per a quan no siga la pàgina Proyecto
{% endif %}
Si volem fer servir una cadena de traducció al vol en la posició que vullguem:
{% trans %} Aquesta pàgina mola molt {% endtrans %}
Si volem fer coses a la plantilla html.html.twig segons la llengua actual de la url, modificarem el fitxer al fitxer TEMA.theme i afegirem:
/**
* Vull que em detecte la llengua al html.html.twig
*/
function drupal8_zymphonies_theme_preprocess_html(&$variables) {
$variables['lang'] = \Drupal::languageManager()->getCurrentLanguage()->getId();
}
I ara el codi és:
{% if (lang == 'ca') %}
català
{% elseif lang == 'es' %}
castellano
{% else %}
no es catalán ni castellano
{% endif %}
Si en canvi, volem fer coses a la plantilla page.html.twig segons les llengües configurades, afegirem el següent codi dins de la funció function drupal8_zymphonies_theme_preprocess_page(&$variables) { que generalmente ja la tenim creada:
function drupal8_zymphonies_theme_preprocess_page(&$variables) {
// Vull saber la llengua de la pàgina actual
$variables['lang'] = \Drupal::languageManager()->getCurrentLanguage()->getId();
}
Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)
La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.