Views - объединить строки с одним и тем же контентом в указанных полях.

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

Аватар пользователя kirasnejnaia kirasnejnaia 28 сентября 2018 в 11:32

Дано:

Изделие 1, размер А;
Изделие 1, размер Б;
Изделие 2, размер А...

Требуется с помощью views вывести так:

Изделие 1, размер А, Б
Изделие 2, размер А

Есть модуль Views Merge Rows но он так и не заработал у меня. При использовании возможностей модуля во views происходит - "The website encountered an unexpected error. Please try again later."
Патчи есть под 8.4, а сейчас уже 8.6.

Кто нибудь сталкивался с такой проблемой в работе модуля, если да, то как решили?
Либо подскажите другие варианты решения данного вопроса.

Спасибо!

Комментарии

Аватар пользователя Bafur Bafur 28 сентября 2018 в 15:23

Что если сгруппировать по полю "Изделие"? Из вывода скрыть это поле, стилями придать желаемый вид.

Аватар пользователя Andruxa Andruxa 29 сентября 2018 в 15:49

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

И еще есть момент - изделие может порезать на две страницы, например:
9. Изделие X, Размер А
10. Изделие X, Размер В
11. Изделие X, Размер С
Тогда на первой странице будет показано Изделие Х, Размер А,В, а на второй - Изделие Х, Размер С.

Я решал эту проблему с атрибутами товаров, загоняя их в индекс search_api (им там самое место) и группируя их в индексе с помощью Search API Grouping
Но это под семёрку, и общее количество кастомного кода по работе с атрибутами потянуло часов на 300 разработки.

Аватар пользователя Orion76 Orion76 29 сентября 2018 в 16:33

Или есть еще какие-то подробности.. или..

Но если структура сущностей такова:
Сущность: Изделие
Поле Размер:
- entity reference на сущность Размер
- многострочное

То все делается стандартными настройками "многострочного" поля в вьюсе..

или я чего-то не так понял?

Аватар пользователя kirasnejnaia kirasnejnaia 30 сентября 2018 в 16:06

наверное моя не точность. суть в том, что размер тут условно размер. там и дата производства и еще... по сути, изделие создаётся один раз, а "размер" (это я так его обозвала) - контент с привязкой к дате производство и тп. то есть размер уникален и его может создаваться по 5 на дню. его купили и он исчез, и такого больше не будет ни когда

Аватар пользователя kirasnejnaia kirasnejnaia 30 сентября 2018 в 16:08

Views Merge Rows - делает (должен делать) это легко, но чего то не фурычит, как говорит мой Папа. и патчи есть ток=лько под 83 и 84... бяяяда

Аватар пользователя Orion76 Orion76 2 октября 2018 в 18:26

еще стандартный вариант, делать вьюс не по Изделию, а по так называемому "Размеру", с группировкой по Изделию .
Получиться так же:
Изделие 1
.. список его "Размеров"
Изделие 2
.. список его "Размеров"
и т.д.