D8 Views - pierregermain/MyDrupal GitHub Wiki

Views Suggestions

En Drupal 8 y 9 los views suggestions que salen al hacer debug no funcionan:

Pero, si se puede sobreescribir vistas usando suggestions aunque no funcionen. La sintaxis usada es la siguiente:

 $suggestions[] = 'views_view__' . $view->id();
 $suggestions[] = 'views_view__' . $view->current_display;
 $suggestions[] = 'views_view__' . $view->id() . '__' . $view->current_display;

Eso significa que si queremos por ejemplo:

  1. crear un twig template para la view llamada "pe_primary" usaríamos el siguiente twig:
    views-view--pe-primary.html.twig
  2. crear un twig template para el bloque "block_1" de la view llamada "pe_primary" usaríamos el siguiente twig:
    views-view--pe-primary--block-1.html.twig

Pasar parámetro a la view

Ejemplo con módulo Groups

Ejemplo sin parámetro de consulta

RELACIONES
 - Relationship: Group relationship: 
    - Filter by plugin: Group node (Webform) 
    - No exigir relación
 -  Relationship: Group relationship Content
    - Relationship: Group relationship (es el anterior)
    - Filter by plugin: Group node (Webform) 
    - No exigir relación
 - Relationship: nid
    - Relationship: Group relationship Content (es el anterior)
    - No exigir relación
 - Relationship: User
    - Relationship: nid
    - No exigir relación

FILTROS CONTEXTUALES
 - filtro contextual: Grupo: ID
   - Cuando el filtro NO esta disponible: mostrar todos los resultados para el campo especificado
   - Cuando el valor del filtro SI esta disponible:
     - Especificar criterios de validación:
       - Convalidador: Grupo
       - Group Type: Empresa (Es el nombre del grupo)
       - Validar que el usuario tenga acceso al _Grupo_
       - Acceder a la operación de revisar: _Ver_
       - Argumentos multiples: _ID Sencillo_
       - Acción a tomar si el valor del filtro no pasa la validación: _Muestra todos los resultados para el campo especificado_

Con parámetros de consulta (tipo ?variable=valor)

FILTROS CONTEXTUALES
 - filtro contextual: Grupo: ID
   - Cuando el filtro NO esta disponible:Proporcionar valor predeterminado
     - Type: Parametro de constulta
       - Parametro de consulta: enterprise
       - Valor de retorno: 
       - Multiples valores: Y 
     - Cuando el valor del filtro SI esta disponible: (igual que en la versión anterior)
       - Especificar criterios de validación:
         - Convalidador: Grupo
         - Grupo tipo: Empresa (Es el nombre del grupo)
         - Validar que el usuario tenga acceso al Grupo
         - Acceder a la operación de revisar: Ver
         - Argumentos multiples: ID Sencillo
         - Acción a tomar si el valor del filtro no pasa la validación: Muestra todos los resultados para el campo especificado

Views: Vista que muestra productos por categoria pasado por argumento

Ruta: /productos/%

donde % es el nombre de la taxonomia

RELACIONES: Ponemos ahi el field "categoria" (es una taxonomia del producto). No hace falta exigir

FILTRO CONTEXTUAL Buscamos "Termino de taxonomia:Nombre" en el caso de tener rutas tipo /productos/hogar o "Terminio de taxonomia: Tid" en el caso de tener rutas tipo /productos/2

Una vez puesto eso le ponemos lo siguiente:

Cuando el filtro del filtro NO esta en la URL: Muestra todos los resultados para el campo especificado Cuando el filtro del filtro SI esta en la URL o se proporciona valor predeterminado:

  • Sobreescribir titulo: Productos de {{ arguments.name }}
  • Especificar criterios de validación:
    • Convalidador: Nombre del término de taxonomia
    • Vocabulario: Categoria producto (Es el terminio de taxonomia de la url)
    • Transformar guiones en la URL
  • Patrones reemplazo:
    • Poner mayuscula primera letra
    • Pasar a minuscula la ruta