2009-08-03 5 views
6

У меня вопрос о мнениях, в частности о группировке отношений. У меня есть «партнерский» узел с множеством «документов», я хочу перечислить имя «партнера» вместе с его соответствующими «документами» ниже. Я правильно настроил отношения (думаю), но не могу понять, как и где их правильно группировать.Drupal: Просмотров: группировать отношения в списке блоков

я получаю это:

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 

но хотел бы это:

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

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

ответ

7

Это звучит, как вы на правильном пути. Чтобы заставить группу работать, как описано выше, вам нужно установить стиль отображения в «список html», а затем в параметрах стиля установите для поля группировки имя партнера. После того, как вы это сделаете, вы можете изменить поле имени партнера и выбрать «исключить из отображения», который затем должен указать желаемый формат.

+1

Это точно config, который я установил, но выход остается таким, как указано выше. – Ronn

+0

Это отличный совет, который вам также понадобится, чтобы строка заголовка в области полей исключалась из дисплея. http://drupal.org/node/486800#comment-1684306 – Kevin

2

Сегодня я столкнулся с этой проблемой. В попытке устранить неполадки я сделал новую пустую установку Drupal и добавил только мой тип контента и отношения. Когда я создал представление, я не видел проблемы. Как только я начал добавлять модули обратно, я обнаружил, что разработчик темы в модуле разработки вызывает проблему. Попробуйте снять флажок и перезагрузите представление. Вы также можете увидеть это, оставив элемент отмеченным, открыв другой браузер и перейдя в представление как тот, кто не увидит разработчика темы.

0

У меня был некоторый успех с использованием модуля views_field_view, который позволяет вам указать вид в виде поля.

Сначала я создал представление с единственным полем, которое я хотел сгруппировать, а затем перевернул запрос, используя следующий код.

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; 
    } 
} 

Причина этого заключается в том, что представления автоматически включает nid и vid поля, когда вы его установить, чтобы выбрать отличный, так что вы на самом деле не получить различные значения. Взломав такой запрос, я работал над этой проблемой.

Модуль views_field_view позволил мне создать второе представление с полями, которые я хотел бы показать в группах. Когда вы добавляете view_field в основной вид (тот, в котором запрос перегружен), вы можете указать поле для передачи в качестве аргумента. Этот аргумент должен быть указан в дочернем представлении.

Все это немного сложно, но я надеюсь, что это было ясно!

0

Это что-то слабое.

Обычно я пишу модуль для получения таких результатов, поскольку нахожу запись sql более быстрой и удобной, чем борьба с представлениями, чтобы сделать это.

Сказали, что существует множество плагинов, которые предлагают этот тип функциональности. Я не тестировал их, потому что я нахожу, что это проще обрабатывается с небольшим количеством пользовательского кода в целом, но вот несколько проектов, направленных на то, чтобы обеспечить решение такого типа вещей для просмотров.

https://drupal.org/project/views_complex_grouping

https://drupal.org/project/views_grouped_table

Есть много других, но я могу отправить только две ссылки, потому что я не часто отвечать на вопросы на этом сайте :)

ура

Смежные вопросы