Sovrascrivere la dipendenza di base di PHP nel Composer
Provando a installare un modulo drupal usando il composer, ottenevo questi messaggi di errore:
Provando a installare un modulo drupal usando il composer, ottenevo questi messaggi di errore:
{% 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.
supponendo di avere un campo chiamato field_image e di voler stampare l'url con lo stile thumbnail in un template node.html.twig.
{{ node.field_image | file_uri | image_style('thumbnail') }}
in alternativa ma senza applicare lo stile, può essere usato:
{% set image_url = file_url(content.field_image.0['#item'].entity.fileuri ) %}
Type: List Text
content.field_name[0]['#markup']
seguiranno aggiornamenti su altri tipi di fields
Supponiamo di avere un controller con un metodo che effettua un redirect ad un sito esterno:
class Controller extends ControllerBase {
public function redirectToWebsite() {
return new RedirectResponse('https://google.com')
}
}
Questo non funzionerà, dato che le RedirectResponse di Symfony in Drupal non funzionano se non si effettua il redirect a URL interni al proprio sito Drupal.
Drupal infatti ci suggerisce di utilizzare un TrustedRedirectResponse:
Considerando che di default le regioni vengono gestite nei template delle pagine (quindi in page.html.twig e suoi sourrogati) in qualche caso si rende necessario poter accedere alle regioni in un template node.html.twig. Ad esempio se volessi stampare la sidebar nel nodo, non potrei farlo se non usiamo questo codice qui sotto:
PS: Su drupal 9 a causa di alcune funzioni deprecate, il codice è leggermente diverso quindi riporto sia per drupal 8 che per drupal 9.
Supponiamo di voler inserire la regione sidebar_right in un template di node quindi
{{ sidebar_right }}
Installare il modulo Twig_tweak
https://www.drupal.org/project/twig_tweak
Una volta abilitato il modulo è possibile inserire ad esempio il blocco TABS action (View, Edit, Delete) nel template node.html.twig.
{{ drupal_block('local_tasks_block') }}
Oppure il bocco del breadcrumb
{{ drupal_block('system_breadcrumb_block') }}
ma se volessimo inserire blocchi provenienti dal modulo views allora possiamo usare
Il template predefinito di Paragraphs è fornito in paragraphs/templates/paragraph.html.twig.
i template che possono essere usati sono i seguenti:
{{ node.field_referenziato.entity.field_da_stampare | view }}
Per field referenziati multipli: