DRUPAL TWIG

twig tips

 CODIGOS TWIG

Renderizar una vista utilizando Twig

Utilizamos el metodo y le pasamos el identificador unico de mi vista


{{ drupal_view('who_s_new', 'block_1') }}
 

Recortar un texto usando Twig

Le pasamos el nombre del campo que contiene el texto a recortar

 
{% set text = content.NombreDeMiCampo|render|striptags %}
{{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }}
  

Renderizar un bloque utilizando Twig 

 Le pasamos el nombre unico de mi bloque, opcional los parametros que requiere el bloque para funcionar

 
{{ drupal_block('statistics_popular_block', {
    top_day_num:'4',
    top_all_num: '4',
    top_last_num: '4'
}) }}
 


Podemos consultar la documentacion aqui! 👈

Como activar la edicion rapida para un bloque personalizado en html twig drupal

Se debe tener el modulo quick edit activado para que funcione



{%
  set classes = [
    'block',
    'block-' ~ configuration.provider|clean_class,
    'block-' ~ plugin_id|clean_class,
  ]
%}
<div{{attributes.addClass(classes)}}>
    {{ title_suffix }}
    {% block content %}
        coloca aqui tu codigo
    {% endblock %}
</div>



Obtener datos de campos

 
Nombre del nodo:
{{label}}

Obtener una imagen y su atributo alt de contenido usando Media Module
<img
src="{{ file_url(content.CampoDeMiImagen[0]['#media'].field_media_image.entity.uri.value) }}"
alt="{{ content.CampoDeMiImagen[0]['#media'].field_media_image.alt }}"
/>

Obtener el Url de un campo enlace en drupal con twig y verificar si es interno o externo

        
        {% set enlace = node.field_destacado_enlace.0.uri %}
        {% set target = '_blank' %}

        {% if not node.field_destacado_enlace.0.url.external %}
            {% set enlace = node.field_destacado_enlace.0.uri|slice(9) %}
            {% set target = '_self' %}
        {% endif %}

        <a href="{{enlace}}" target="_blank">Nombre</a>

Obtener el url de un campo enlace de peragrapghs drupal

      {% set enlace = paragraph.field_url.get(0).getUrl().toString() %}
      {% set target = '_blank' %}

      {% if not paragraph.field_url.0.url.external %}
        {% set enlace = paragraph.field_url.get(0).getUrl().toString() %}
        {% set target = '_self' %}
      {% endif %}

      <a href="{{enlace}}" target="{{target}}">Nombre</a>


Accesibilidad




data-bs-toggle="tooltip" data-bs-placement="top" title="{{label.0}}"




 
 
{{file_url(content.CAMPO DE MI PARAGRAPH (EJ: FIELD_IMAGE).0['#media']
.field_media_image.entity.uri.value)}}

{{file_url(content.field_gabinete_imagen.0['#item'].entity.uri.value)}}


obtener alt
content.field_gabinete_imagen[0]['#item'].alt



obter parametros de paragraphs

<pre>
    {{ dd(elements['#paragraph'].id()) }}
     {{ dd(elements['#paragraph'].type()) }}
</pre>




RECORTAR UN TEXTO

{% set text = content.field_noticia_cuerpo|render|striptags %}
{{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }}




obtener datos de media imagen durpak

{{ file_url(node.field_evento_imagen.entity.field_media_image.entity.fileuri) }}

{{content.field_evento_imagen[0]['#media'].field_media_image.alt}}




get fecha del nodo

{{ node.getCreatedTime|format_date('medium') }}

renderizar un bloque utilizando drupal

{{ drupal_block('statistics_popular_block', {top_day_num:
        '4',top_all_num: '4',top_last_num: '4' }) }}


obtener ruta desde content media

{{ file_url(content.field_banner_imagen[0]['#media'].field_media_image.entity.uri.value) }}

Comentarios