Как объеденить результаты двух представлений в один?

Главные вкладки

Аватар пользователя Plazik Plazik 12 марта 2015 в 20:25

Имеются два похожих представления, которые отличаются фильтрацией. Необходимо вывести их в одном представлении, так чтобы сначала шли результаты одного представления (1-n страниц), а потом другого (n и далее страниц) и чтобы нормально работа пагинация. Т.е. вложения тут не подойдут.

Представления сложные, с контекстными фильтрами, раскрытыми фильтрами и на основе search api.

Комментарии

Аватар пользователя Chyvakoff Chyvakoff 13 марта 2015 в 14:17

Если не сильно отличаются фильтрацией-то можно в hook_views_query_alter на нужных тебе страницах добавлять/убирать фильтры.
Но если всего страниц немного, и оно зависит от фильтров-то у тебя количество страниц в пейджере будет прыгать.

Аватар пользователя t1mm1 t1mm1 13 марта 2015 в 19:16

1. 2 вьюхи.
2. рендерим эти вьюхи.
3. у нас на странице надо в сумме 20 записей? каждая вьюха пусть выводит по 10.
4. пишем свою пагинацию. можно даже аяксом. можно даже через lazy load.

делал lazy load для подобной задачи. Только данные из солра тянул в связке с внешним апи на подзрузку данных по исходящим параметрам (через curl). кастомная пагинация решит вопрос.

в одном представлении вы так не сделаете. точнее можно через глобальную переменную объеденить вывод, но это будет совсем весело + не будет работать пагинация корректно.

Вообще, еще вариант. Написать свое решение. Как по мне, это был бы самый быстрый вариант решения, чем перепиливать вьюсы. Дело в том, что они то хороши, но оченнннь не поворотливы и прожорливы в нагрузке.

Аватар пользователя Chyvakoff Chyvakoff 14 марта 2015 в 22:32

"t1mm1" wrote:
Написать свое решение. Как по мне, это был бы самый быстрый вариант решения, чем перепиливать вьюсы.

Да.