¿Cómo redirigir una consulta de filtro expuesta a una página de resultados de vistas que vive en otra página de panel?


8

Mi configuración: Drupal 7.2, Paneles 7.x-3.0-alpha3, Vistas 7.x-3.0-beta3, Conjunto de herramientas Chaos 7.x-1.0-beta1

Digamos que quiero crear un sitio web de directorio de frutas. En las vistas tengo un panel de contenido "frutas" con filtros expuestos basados ​​en taxonomías "color". Se supone que el sitio web tiene dos páginas de panel. La primera página del panel muestra solo el cuadro de filtro expuesto "buscar una fruta" con un menú desplegable para "color" y un botón de búsqueda. Al elegir del menú desplegable y hacer clic en el botón de búsqueda, se supone que el usuario debe ser redirigido a la segunda página del panel que incluye el panel de contenido de la vista que muestra una lista de frutas que coinciden con el filtro (color).

El problema es: el cuadro de filtro expuesto en la primera página no redirigirá a la página de resultados después de hacer clic en el botón Aplicar. ¿Cómo configuro vistas y paneles para lograr esto?

Respuestas:


7
function hook_form_alter(&$form, &$form_state, $form_id) {  
  if ($form_id=='views_exposed_form') {
    global $base_url;
    $form['#action'] = $base_url.'/path_that_you_want'; 
  }
}

Esto funciona bien, pero en lugar de usar $ base_url, creo que probablemente deberías usarlo url('path_that_you_want').
John Fiala

1
Intenté esto sin éxito. En realidad, mi atributo 'acción' dice otro destino. ¿Cómo puedo solucionar esto?
sokratis

Hola, ¿dónde agrego este código? Avísame. Gracias
React Developer

0

No estoy seguro de si hay una forma "correcta", pero he logrado que esto suceda escribiendo un hook_form_alter para el formulario de filtro expuesto para cambiar el destino.

No es ideal, pero obtuve los resultados que necesitaba.


¿Como hiciste esto? ¿Podría por favor publicar su código?
Michiel

0

La solución más simple es

  • Crea una página de visitas
  • Crear una vista expuesta
  • En Avanzado> forma expuesta. Establecer "forma expuesta en bloque: Sí"
  • Agregue el bloque "Forma expuesta: ..." a la portada requerida.

0

La solución más simple es crear una página de vistas Crear una vista expuesta En Avanzado> formulario expuesto. Establezca "formulario expuesto en bloque: Sí" Agregue el bloque "Formulario expuesto: ..." a la página principal requerida.

El formato anterior de Interlated me llevó a la mitad con el bloque de filtro expuesto trabajando para abrir y mostrar resultados en una nueva página.

Sin embargo, también necesitaba que el bloque de filtro estuviera en esa página de resultados. Entonces adjunté el formulario (bloque de filtro expuesto) a través del área de vista en el encabezado. Luego encontré un comportamiento recursivo cuando ambas pantallas se muestran en la misma vista.

Para resolverlo, separé las dos pantallas (página y bloque) en sus propias vistas respectivas: creé un bloque como filtro expuesto que incluía campos para resultados, luego una vista completamente nueva para que la página tenga una URL a la que llegar. La vista de página tiene un campo (título) que se sobrescribe como espacio en blanco (principalmente porque los resultados serían redundantes pero también inexactos; descubrí que los resultados se muestran con precisión desde los campos en el bloque de filtro expuesto). Mantuve la misma configuración filtrada entre ambas pantallas y usé mejores filtros expuestos usando ajax en ambas pantallas.

Hice esto en D8 pero probablemente sería lo mismo en 7.

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.