For each solo per valori numerici (utile per i field multipli)

{% for key, value in content.field_url if key matches '/^\\d+$/' %}
    value1
    value2
    value3...
{% endfor %}

Poichè twig di base non ha una variabile o metodo che rappresenta INT, questo valore viene proposto sotto regEX. Ciclando nei field multipli, se si vogliono selezionare solo indici di chiavi numeriche, quindi ogni valore del delta di field, lo si espone nel for condizionale.

Per modificare la page template di una Views utilizzando la sintassi page--views--[VIEW_NAME]--[DISPLAY_ID].html.twig

Per poter modificare una page tempalte, non basta scrivere page--[nome della view] ma bisogna inserire un codice nel file .theme alla funzione [THME_NAME]_theme_suggestions_page_alter()

Quindi inserire questo codice nel file [THME_NAME].theme

Link Utili

Lista dei nomi e dei sorgenti del template che costituiscono un tema in Drupal 8

Drupal 8 utilizza il templating engine Twig. Twig offre agli sviluppatori un metodo veloce, sicuro e flessibile per la creazione di template. Twig offre anche sostanziali miglioramenti all'usabilità rispetto a PHPTemplate e non richiede agli sviluppatori front-end di conoscere PHP per creare e manipolare temi in Drupal8/9/10.

Tags

Comandi utili da usare nei template Twig

  • Url sel sito: {{ url('<front>') }}
  • Traduzione etichette: {% trans %}ATTACHMENTS{% endtrans %}
  • Ciclare liste di oggetti:
    • {% for item in nodeforms %}
          {{ item.sid }}
          ....
      {% endfor %}
  • Verifica lunghezza di una lista: {% if users|length > 10 %} ... {% endif %}
  • Verifica se una variabile è: stringa vuota, array vuoto, falso, null.

Come modificare il template di edit/add di un nodo

Inserire il seguente codice nel file template.php

function [THEME_NAME]_theme() {
  return array(
    'NODETYPE_node_form' => array(
      'arguments' => array(
          'form' => NULL,
      ),
      'template' => 'tpl/NODETYPE-node-form', // set the path here if not in root theme directory
      'render element' => 'form',
    ),
  );
}

 

creare il file NODETYPE-node.form.tpl.php ed inserire la seguente riga

 

Differenti template in base all'url della pagina

Da inserire nella funzione [THEME_NAME]_preprocess_page()


// Page template suggestions based off URL alias
   if (module_exists('path')) {
    $alias = drupal_get_path_alias(str_replace('/edit','',$_GET['q']));
    if ($alias != $_GET['q']) {
      $template_filename = 'page';
      foreach (explode('/', $alias) as $path_part) {
        $template_filename = $template_filename . '__' . $path_part;
        $variables['theme_hook_suggestions'][] = $template_filename;
      }
    }
  }

 

Tags

Subscribe to Template