Views Base URL

Proporciona plugins de campo para Views que generan URLs internas absolutas basadas en parámetros personalizados como ruta interna, cadena de consulta y fragmento.

views_base_url
6,024 sites
20
drupal.org
Drupal 8 Drupal 9 Drupal 10 Drupal 11

Instalar

Drupal 11, 10, 9, 8 v2.1.0
composer require 'drupal/views_base_url:^2.1'

Overview

Originalmente llamado Views Base URL, este módulo proporciona campos de Views que generan URLs internas absolutas basadas en parámetros personalizados. Las URLs generadas pueden incluir una ruta interna, valores de cadena de consulta y fragmentos de URL.

El módulo ofrece dos plugins de campo para Views: Global: Custom Internal URL (recomendado) y Global: Base URL (obsoleto). Ambos campos pueden mostrar una cadena de URL simple o renderizar como un enlace HTML completo con atributos personalizables incluyendo class, title, target y rel.

Todas las configuraciones de campo soportan patrones de reemplazo de Token, permitiendo que valores dinámicos de otros campos en la vista (como ID de nodo, título, etc.) se utilicen en la construcción de URLs. Esto es particularmente útil para crear enlaces dinámicos basados en datos específicos de cada fila.

Las URLs generadas respetan automáticamente el idioma actual del sitio, asegurando que los sitios multilingües produzcan enlaces en el contexto de idioma correcto. Los alias de ruta también se resuelven automáticamente al generar URLs.

Features

  • Genera URLs internas absolutas desde Views con ruta personalizable, parámetros de consulta y fragmento de URL
  • Soporta patrones de reemplazo de Token para generación dinámica de URLs usando otros valores de campo de la vista
  • Renderiza URLs como texto plano o enlaces HTML completos con atributos personalizables (class, title, rel, target)
  • Respeta automáticamente el idioma actual del sitio para soporte multilingüe
  • Resuelve alias de ruta automáticamente al generar URLs
  • Proporciona dos plugins de campo para Views: Custom Internal URL (recomendado) y Base URL (obsoleto)

Use Cases

Crear enlaces dinámicos 'Leer más' en Views

Al construir una vista de listado de contenido, añada el campo Global: Custom Internal URL con la ruta de URL configurada como '/node/{{ nid }}' y el texto del enlace como 'Leer más'. Esto crea un enlace absoluto correcto a cada elemento de contenido que funciona correctamente en boletines, feeds RSS o cuando la vista se muestra fuera del contexto normal del sitio.

Añadir parámetros de consulta a enlaces de listado

Para una vista de catálogo de productos donde desea rastrear la fuente de los clics, configure el campo de consulta de URL con 'source=catalog' o use Tokens como 'ref={{ nid }}'. Esto añade parámetros de consulta a cada enlace para análisis o seguimiento de referencias.

Crear enlaces de ancla dentro de páginas

Al construir una vista que enlaza a secciones específicas de una página, configure la ruta de URL a la ruta de la página y el fragmento de URL al ID de la sección. Por ejemplo, ruta '/faq' con fragmento 'question-{{ nid }}' crea enlaces como '/faq#question-42'.

Construir enlaces de imagen con atributos personalizados

Añada un campo de imagen a su vista, exclúyalo de la visualización, luego añada el campo Custom Internal URL con 'Renderizar como enlace' habilitado. En el campo de texto del enlace, use el Token del campo de imagen. Configure atributos del enlace como class, title, rel='noopener' y target='_blank' para un comportamiento correcto del enlace de imagen.

Enlaces compatibles con boletines por correo electrónico

Al incrustar salida de Views en boletines por correo electrónico, las URLs absolutas generadas por este módulo aseguran que los enlaces funcionen correctamente independientemente del cliente de correo, a diferencia de las URLs relativas que pueden romperse cuando se ven fuera del contexto del sitio web.

Crear enlaces con múltiples clases CSS

En el campo link_class, ingrese nombres de clase separados por espacios como 'btn btn-primary btn-lg' para aplicar múltiples clases CSS al enlace generado con fines de estilo.

Tips

  • Use el campo Custom Internal URL en lugar de Base URL - es el enfoque recomendado y tendrá mejor mantenimiento
  • Siempre añada los campos que quiere usar como Tokens ANTES del campo de URL en el orden de campos de Views
  • El campo de ruta de URL acepta cualquier ruta interna válida de Drupal que comience con /, como /node/123, /admin/content o /user/{{ uid }}
  • Al usar 'Renderizar como enlace', dejar link_text vacío mostrará la URL completa como texto del enlace
  • Múltiples clases CSS pueden añadirse al campo link_class separadas por espacios
  • Los patrones de Token usan sintaxis Twig: {{ field_name }} donde field_name coincide con el nombre de máquina del campo en la vista

Technical Details

Hooks 1
hook_views_data_alter

Implementa hook_views_data_alter() para registrar los plugins de campo personalizados de Views. Añade los campos 'base_url' y 'custom_internal_url' a la tabla global 'views', haciéndolos disponibles como campos Global en la interfaz de Views.

Troubleshooting 5
El reemplazo de Token no funciona en la ruta de URL

Asegúrese de que el campo que contiene el valor del Token (ej., nid, title) esté añadido a la vista y aparezca ANTES del campo Custom Internal URL en el orden de campos. Los campos se procesan en orden, y los Tokens de campos posteriores no están disponibles para campos anteriores.

La URL muestra la ruta interna en lugar del alias

El módulo resuelve automáticamente los alias de ruta. Si los alias no aparecen, verifique que existan alias de ruta para el contenido y que el módulo Path Alias esté habilitado. Limpie la caché de alias de ruta si los alias añadidos recientemente no aparecen.

El prefijo de idioma no aparece en las URLs

Asegúrese de que su sitio tenga la detección y negociación de idioma configurada correctamente. El módulo usa el contexto de idioma actual, por lo que si la solicitud no tiene el prefijo de idioma correcto, las URLs generadas pueden no incluir el prefijo de idioma esperado.

Los parámetros de consulta no se añaden

Verifique el formato del campo url_query. Los parámetros deben estar en formato 'key=value', con múltiples parámetros separados por espacios o caracteres &. No incluya el carácter '?' inicial.

El campo Base URL muestra advertencia de obsoleto

El campo Base URL está obsoleto pero sigue siendo funcional. Para nuevas implementaciones, use el campo Custom Internal URL en su lugar, que ofrece la misma funcionalidad con una interfaz de configuración más limpia.