Drupal: Views: группировка отношений в черном списке - PullRequest
6 голосов
/ 03 августа 2009

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

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

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

Ответы [ 4 ]

7 голосов
/ 03 августа 2009

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

2 голосов
/ 29 августа 2009

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

0 голосов
/ 03 февраля 2014

Это то, на что взгляды слабы.

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

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

https://drupal.org/project/views_complex_grouping

https://drupal.org/project/views_grouped_table

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

ура

0 голосов
/ 28 января 2011

У меня был некоторый успех при использовании модуля 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 в основной вид (тот, в котором запрос переопределен), вы можете указать поле для передачи в качестве аргумента. Этот аргумент затем должен быть указан в дочернем представлении.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...