Apunts diversos de modificacions de plantilles twig a Drupal 8

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.