D8 Views - pierregermain/MyDrupal GitHub Wiki
Views Suggestions
En Drupal 8 y 9 los views suggestions que salen al hacer debug no funcionan:
- https://www.drupal.org/project/drupal/issues/2839945
- https://www.drupal.org/project/drupal/issues/2923634
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:
- crear un twig template para la view llamada "pe_primary" usaríamos el siguiente twig:
views-view--pe-primary.html.twig
- 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