2009-08-03 29 views
6

Tengo una pregunta sobre las vistas, específicamente sobre la agrupación de una relación. Tengo un nodo "socio" que tiene muchos "documentos", quiero enumerar el nombre del "socio" junto con sus "documentos" correspondientes a continuación. Tengo la relación establecida correctamente (creo) pero no puedo entender cómo o dónde agruparla correctamente.Drupal: Vistas: relación de agrupamiento en la lista de bloqueo

me sale esto:

partner name 1 
- doc name 1 
partner name 1 
- doc name 2 
partner name 1 
- doc name 3 
partner name 2 
- doc name 4 
partner name 2 
- doc name 5 
partner name 3 
- doc name 6 

pero desea:

partner name 1 
- doc name 1 
- doc name 2 
- doc name 3 

partner name 2 
- doc name 4 
- doc name 5 
- doc name 6 

Respuesta

7

Parece que estás en el camino correcto. Para que la agrupación funcione tal como se describe más arriba, deberá establecer el estilo de visualización en "lista html" y, a continuación, en las opciones de estilo, establecer el campo de agrupación en el nombre del socio. Una vez que tenga esto funcionando, puede editar el campo de nombre del socio y seleccionar 'excluir de la pantalla', que luego le dará el formato deseado.

+1

Esa es la exacta configuración que he configurado, pero la salida sigue siendo como se indica arriba. – Ronn

+0

Este es un gran consejo, también necesitará establecer la línea de encabezado en la sección de campos para excluir de la pantalla. http://drupal.org/node/486800#comment-1684306 – Kevin

2

Me encontré con este mismo problema hoy. En un intento de solucionar problemas, hice una nueva instalación vacía de Drupal y agregué solo mi tipo de contenido y la relación. Cuando creé la vista, no vi el problema. Una vez que comencé a agregar módulos nuevamente, encontré que el desarrollador del tema en el módulo de desarrollo está causando el problema. Intente desmarcarlo y vuelva a cargar su vista. También es posible que pueda ver esto dejando marcado el elemento, abriendo un navegador diferente y yendo a la vista como alguien que no verá al desarrollador del tema.

0

He tenido cierto éxito utilizando el módulo views_field_view que le permite especificar una vista como un campo.

Primero creé una vista con el único campo que quería agrupar y luego sobrepasé la consulta con el siguiente código.

function hook_views_pre_execute(&$view) { 
    if ($view->name == 'phone_search') { 
     $query = 'SELECT DISTINCT node_data_field_status.field_status_value AS node_data_field_status_field_status_value 
      FROM content_type_phone node_data_field_status'; 
     $view->query->query = $query; 
     $view->query->final_query = $query; 
     $view->query->count_query = $query; 
    } 
} 

La razón de esto es que las opiniones incluye automáticamente los nid y los campos vid cuando haya que establecer para seleccionar distinta por lo que en realidad no llega a los valores distintos. Al hackear la consulta de esta manera, trabajé en torno a este problema.

El módulo views_field_view me permitió crear una segunda vista con los campos que quería mostrar en los grupos. Cuando agrega el view_field a la vista principal (aquella sobre la cual se satura la consulta) puede especificar un campo para pasar como un argumento. Este argumento debe especificarse en la vista secundaria.

Todo es un poco complicado, pero espero que esto esté claro!

0

Esto es algo que las vistas son débiles.

Normalmente escribo un módulo para producir este tipo de resultados ya que me parece que escribir sql es más rápido y más fácil de mantener que la lucha con vistas para hacerlo.

Dicho esto, hay muchos complementos de vistas que ofrecen este tipo de funcionalidad. No los he probado porque me resulta más fácil manejarlos con una pequeña cantidad de código personalizado en general, pero aquí hay algunos proyectos que buscan proporcionar una solución a este tipo de cosas para las vistas.

https://drupal.org/project/views_complex_grouping

https://drupal.org/project/views_grouped_table

Hay muchos otros, pero sólo se puede publicar dos enlaces porque no suelo contestar preguntas sobre este sitio :)

aplausos

Cuestiones relacionadas