Как я могу указать количество экземпляров данного поля в представлении - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть стандартный базовый тип содержимого статьи, который, помимо прочего, содержит поле изображения, настроенное на неограниченное количество значений.

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

Я использую drupal-7 с Views 7.x-3.0-alpha1

Спасибо!

1 Ответ

1 голос
/ 11 февраля 2011

AFAIK, через пользовательский интерфейс Views нет возможности рандомизировать выборки сгруппированного поля.

Я вижу два возможных пути, в теории для достижения того, что вы хотите.

  1. Используйте hook_views_query_alter, чтобы изменить запрос SQL для представления.Я не уверен, что представления поддерживают то, что вам нужно для рандомизации результатов, но у вас есть возможность изменить запрос, который генерирует представления, и, возможно, сможете рандомизировать его.
  2. Выберите все результаты, но используйте их дляпоказывать только случайно выбранные опции.Это можно сделать в функции предварительной обработки.Представления предоставляют несколько, в зависимости от вашего варианта отображения, hook_views_view_unformatted может быть тем, что вам нужно.
...