Views Token Argument

Permite usar tokens como filtros contextuales (argumentos) en Drupal Views, habilitando el filtrado dinámico basado en el usuario actual o valores de entidad.

views_argument_token
3,059 sites
37
drupal.org

Instalar

Drupal 11, 10, 9, 8 v2.0.3
composer require 'drupal/views_argument_token:^2.0'

Overview

Views Token Argument extiende Drupal Views proporcionando un potente plugin de argumento por defecto que permite usar tokens como valores de filtros contextuales. Esto permite que Views filtre dinámicamente el contenido basándose en valores de tokens del usuario actual o de la entidad relacionada con la página actual.

El módulo es particularmente útil para crear visualizaciones de contenido personalizadas. Por ejemplo, puedes mostrar contenido relacionado con categorías que el usuario actual ha seleccionado en su perfil, o mostrar contenido que comparte términos de taxonomía con el nodo actualmente visualizado.

Las capacidades clave incluyen el procesamiento de tokens del usuario actual y tokens de la entidad actual (como el nodo actual en páginas node/x), la extracción de valores de campo sin procesar en lugar de la salida formateada, el manejo de múltiples valores con operadores AND/OR, y un modo de depuración para verificar los valores procesados finales.

Features

  • Usa tokens como valores por defecto de filtros contextuales de Views (ej., [current-user:uid], [node:nid])
  • Soporte para tokens del usuario actual para personalizar Views basándose en el usuario conectado
  • Soporte para tokens de la entidad actual del contexto de la página (node, user, taxonomy term, etc.)
  • Opción para extraer valores de campo sin procesar en lugar de la salida formateada/enlazada proporcionada por el módulo Token
  • Manejo de múltiples valores con operadores AND/OR configurables para filtrado complejo
  • Fallback al argumento 'all' cuando no se encuentra ningún valor, permitiendo que Views muestre todos los resultados
  • Modo de depuración para mostrar el valor final procesado del token para solución de problemas
  • Manejo automático del contexto de caché para un correcto almacenamiento en caché de Views personalizadas

Use Cases

Contenido Personalizado Basado en Preferencias de Taxonomía del Usuario

Un perfil de usuario contiene un campo de referencia de entidad a términos de taxonomía que representan sus intereses. Crea una View que muestre contenido etiquetado con esos mismos términos de taxonomía usando [current-user:field_interests] como valor por defecto del filtro contextual con el plugin Token. Esto crea un feed personalizado mostrando solo contenido que coincide con los intereses del usuario.

Bloque de Contenido Relacionado en Páginas de Node

Muestra un bloque de 'Artículos Relacionados' mostrando otro contenido en la misma categoría que el nodo actualmente visualizado. Configura una View con un filtro contextual en el campo de taxonomía de categoría, y usa [node:field_category] como el argumento por defecto del token. La View filtrará automáticamente para mostrar contenido que comparte la misma categoría.

Panel de Contenido Propio del Usuario

Crea una View de panel mostrando todo el contenido creado por el usuario actual. Usa [current-user:uid] como el token para el filtro contextual de autor. Esto permite a los usuarios ver solo su propio contenido sin ninguna configuración adicional.

Contenido por Organización del Usuario

Cuando los usuarios tienen un campo de referencia de organización en su perfil, muestra contenido que pertenece a la misma organización. Usa [current-user:field_organization] para filtrar el filtro contextual de organización de una View, mostrando solo contenido relevante para la organización del usuario.

Filtrado de Taxonomía con Múltiples Valores

Cuando un usuario ha seleccionado múltiples términos de taxonomía en su perfil, muestra contenido que coincida con cualquiera (OR) o todos (AND) esos términos. Configura la opción de manejo de múltiples valores para controlar si la View muestra contenido que coincide con cualquier término seleccionado o solo contenido que coincide con todos los términos seleccionados.

Tips

  • Siempre habilita la opción 'Procesar valor sin procesar' cuando filtres por campos de referencia de entidad, ya que la salida por defecto del token es el título enlazado en lugar del ID necesario para filtrar.
  • Usa el modo de depuración durante el desarrollo para verificar que los tokens se están resolviendo a los valores esperados antes de desplegar a producción.
  • Cuando uses la opción 'Enviar all si está vacío', asegúrate de haber configurado la excepción 'all' en la sección 'Excepciones' del filtro contextual.
  • Para Views con argumentos de token que dependen del usuario actual, asegúrate de que el caché de Views esté correctamente configurado para evitar mostrar resultados cacheados de otros usuarios.
  • Combina múltiples filtros contextuales basados en tokens para crear visualizaciones de contenido altamente personalizadas basadas en varios atributos del usuario o entidad.

Technical Details

Hooks 1
hook_help

Implementa hook_help() para proporcionar texto de ayuda para el módulo en las páginas de ayuda de administración.

Troubleshooting 4
El token no se está reemplazando y se muestra como texto literal como [node:nid]

Asegúrate de que el módulo Token esté instalado y habilitado. Verifica que la sintaxis del token sea correcta usando el navegador de tokens. Comprueba que estés en una página donde el contexto del token esté disponible (ej., los tokens [node:*] requieren estar en una página de node).

La View no muestra resultados aunque existe contenido que coincide

Habilita el modo de depuración para ver el valor real que se está usando. Si usas campos de referencia de entidad, habilita 'Procesar valor sin procesar' para obtener el ID de entidad en lugar del título formateado. Verifica que el token esté disponible en el contexto de la página actual.

La View muestra todos los resultados en lugar de resultados filtrados

Comprueba si el token se está resolviendo a un valor vacío. Si 'Enviar all si está vacío' está habilitado, un valor de token vacío resultará en mostrar todo el contenido. Deshabilita esta opción o asegúrate de que el token tenga un valor.

Views cacheadas mostrando contenido personalizado incorrecto

El módulo añade contextos de caché automáticamente, pero verifica los ajustes de caché de tu Views. Para contenido específico del usuario, asegúrate de que el caché varíe por usuario. Considera deshabilitar el caché de resultados de Views para Views altamente personalizadas.