Crear un vista de contenidos relacionados

Instrucciones

Tenemos un contenido cualquiera, ej.: "noticia" y queremos que al final de cada noticia aparezcan otras noticias relacionadas con este contenido.

Instrucciones:

  1. Creamos nuestro tipo de contenido base
  2. Añadimos un campo del tipo referencia a contenido y le indicamos que contenidos referenciará
  3. Creamos una vista de tipo BLOCK con campos a la que pondremos ej: "Noticias relacionadas" y dentro en los filtros avanzados, que por defecto Drupal nos pondrá "block_1" lo cambiaremos por "noticias_relacionadas"
  4. Copiamos la plantilla que afectará a nuestro contenido base llamado "noticia" y en la parte inferior de esa plantilla añadiremos la llamada a nuestra vista con este código: 

   <div class="col-xs-12 nopadding related-stories">

        {{ drupal_view('noticias_relacionadas', 'noticias_relacionadas') }}

  </div>

** el primer nombre es el nombre máquina, el segundo es el nombre del bloque dentro de la vista

 AHORA PERSONALIZAMOS LA VISTA

  1. Copiamos la plantilla de nuestra vista desde CORE/MODULES/VIEWS/TEMPLATE/views-view-fields.html.twig
  2. renombramos la plantilla con el nombre de nuestra vista ( NOMBRE MÁQUINA ), quedando de la siguiente manera views-view-fields--noticias_relacionadas.html.twig

Dentro de la plantilla deberíamos tener una estructura como la siguiente:

Código
{%- if field.element_type -%}
    <{{ field.element_type }}{{ field.element_attributes }}>
         {# Estructura con envoltorio #}
             <div class="grid-item grid-item">
                <div class="envoltorio-imagen">
                     <div class="imagen-portada">
                          {{ fields.field_portada_noticia.content }}
                     </div>
                 </div>
                 <p class="ubicacion">{{ fields.field_locations.content }}</p>
                 <p>{{ fields.title.content }}</p>
             </div>

         {# Final Estructura con envoltorio #}
</{{ field.element_type }}>

Snippet relacionados