¿Cómo obtengo un bloque para usar una URL para configurar un filtro contextual?


8

Los bloques no tienen rutas, entonces, ¿cómo puedo pasar un contexto al bloque para obtener los resultados correctos para una página?

Soy nuevo y no tengo la reputación suficiente para responder mi propia pregunta durante ocho horas (¡Vaya!) La respuesta a esta pregunta vendrá después de que haya expirado el límite de tiempo.


Tengo un problema similar. Espero que alguien pueda ayudarme con eso: drupal.stackexchange.com/questions/27818/…
user6670

Respuestas:


15

Una página de vistas puede leer la url y usar una ruta para que la página lea una entrada de término de taxonomía para un filtro contextual. Una URL como la example.com/a/term/bque leería la página de vista con una ruta de a/%/b. El valor de %en la URL se pasa al filtro contextual para determinar qué contenido incluir en la vista.

Dado que un bloque no posee una ruta, es necesario hacer un poco más de configuración para lograr el resultado. Para hacerlo:

  1. Haga clic en el filtro contextual en el formulario de vista de bloque en las vistas.
  2. Debajo de When the filter value is NOT availableseleccionar Provide default value.

Si la página en la ruta es un término de taxonomía, intente estos pasos 3 y 4:

  1. Elija Taxonomy term ID from URLdel cuadro desplegable Tipo.
  2. Compruebe Load default filter from term page.

O de lo contrario intente esto:

  1. Escoger Raw value from URL
  2. Identifique qué parte de la URL es el término. p.ej. para A/term/Bel término está en la segunda posición.

Entonces:

  1. En la When the filter value IS in the URL or a default is providedcasilla "Especificar criterios de validación"
  2. Seleccione Taxonomy termy el vocabulario específico que se utiliza.
  3. En Filter Value typenombre del término de selección convertido en ID de término "
  4. La verificación Transform dashes in URL to spaces in term name filter valuesasegurará que cualquier alias de ruta generado automáticamente que haya convertido los espacios en guiones se maneje correctamente. Pruebe su vista con esto marcado y sin marcar.

Si su vista no aparece en la página, los pasos para la solución de problemas deben incluir verificar que la vista funciona probando la entrada en la vista previa de la vista. Asegúrese de que los espacios se manejan para que coincidan con la configuración del paso 8. También asegúrese de que su bloque de vista esté expuesto admin/structure/block.


Tengo dos vocabularios de taxonomía. Colecciones coll1, coll2 y coll3 Tamaños pequeño, mediano y grande Mi URL se ve así: collections / coll1 / small Traté de usar el método que describe, pero no obtuve resultados. ¿Alguna idea?
gritando SiLENCE

Necesitaría más información sobre su punto de vista. ¿Por qué no agrega una pregunta y describe qué campos, filtros, filtros contextuales ha configurado y lo resolveremos?
Ashlar

1

Si desea seleccionar de acuerdo con un Tipo de contenido en lugar de una taxonomía, necesita una configuración diferente. Intenta lo siguiente:

  1. Haga clic en filtros contextuales
  2. Agregar contenido: NID En la sección CUANDO EL VALOR DEL FILTRO NO ESTÁ DISPONIBLE , seleccione Proporcionar valor predeterminado y elija ID de contenido de URL en la lista desplegable.
  3. En la sección CUANDO EL VALOR DEL FILTRO ESTÁ DISPONIBLE O SE PROPORCIONA UN VALOR POR DEFECTO , seleccione Especificar criterios de validación , elija Contenido en el cuadro de selección VALIDADOR y elija qué Tipos de contenido autoriza a que se muestren.

Deberias hacer eso.


La validación pasa pero no está filtrando el NID? ¿Necesito crear una relación con el filtro contextual?
Sonicthoughts
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.