Почему в Commerce рекомендуют делать сетку товаров дисплеями, а не полями. И делаете ли вы эту сетку на полях?

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

Аватар пользователя VasyOK VasyOK 9 сентября 2021 в 23:09

Всем привет!

В сборках Commerce и курсах по нем же предлагается делать сетку товаров на дисплеях. Почему так?

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

А вы делаете сетку товаров Commerce на полях? Если да - скиньте примеры ваших сайтов.

Комментарии

Аватар пользователя gun_dose gun_dose 10 сентября 2021 в 0:29

Помню ещё со времён семёрки с полями были проблемы вывести кнопку корзины. Плюс вьюха получается очень сложная. А с тизерами сильно проще - настроил фильтры и всё. Более того, при использовании search API не нужно индексировать 100500 полей, если выводишь тизеры. И вот прикинь, есть вьюха по поисковому индексу, плюс просто вьюха для главной с какими-нибудь новинками, плюс отображение связанных товаров, сделанное простым выводом поля entity reference. И если всё это сделано тизерами, то вообще никаких проблем - олин раз только сверстать тизер и всё. А все вьюхи потом делаются буквально в пару кликов.

Есть ещё мнение, что вьюхи по дисплеям быстрее работают, но я не поверял.

Аватар пользователя voviko voviko 12 сентября 2021 в 17:15

Тизеры это круто, всегда так делаю, и для вьюх, если выводить отдельное поле тоже можно сделать свой дисплей. Но вот чтоб search api тизеры индексировал ни разу не видел. А чё, так можно было? )))

Аватар пользователя gun_dose gun_dose 12 сентября 2021 в 20:14
1

Во-первых, да, можно. Есть процессор "rendered entity", его можно включить и класть в индекс уже готовый html. Для всяких хайлоад проектов это вообще килер-фича. Делаешь индекс на соларе и отдаёшь тизеры напрямую из него, вообще никак не напрягая базу данных.
Во-вторых, я имел в виду не это)) в сёрч-апишных вьюхах, как и везде, есть опция - показывает поля или сущности. Вот я всегда выбираю сущности. А вот если делать вышеуказанным способом, то надо показывать не сущности, а поля, т.к. отрендеренная сущность сохраняется в поле индекса.

Аватар пользователя VasyOK VasyOK 10 сентября 2021 в 16:18

В 7ке был Уберкарт.

Да вьюха сложная получилась. Но я четко контролирую все поля во всех сетках. На странице категории одни поля, в "похожих товарах" другие. Я могу задавать классы полям, строить зависимости одних полей от других и использовать всю мощь views.

"не нужно индексировать 100500 полей" так если по этим полям фасеты делать, значит их надо индексировать. Или как? Я имею ввиду вывод товаров, а не их индексацию.

Аватар пользователя gun_dose gun_dose 11 сентября 2021 в 1:07

Ты же по картинкам фасеты не делаешь)) если поля нет в индексе, то и вывнсти его нельзя, если вьюха показывает индексированные материалы.

Аватар пользователя marassa marassa 11 сентября 2021 в 6:20

gun_dose wrote: если поля нет в индексе, то и вывнсти его нельзя, если вьюха показывает индексированные материалы.

Разве? У меня в Content datasource можно вывести все поля, включая картинки. Или мы о разном?

Аватар пользователя marassa marassa 11 сентября 2021 в 10:49

Я вообще ничего не знаю ни про коммерс, ни про уберкарт, ни про фасеты, ни про семёрку Wink Я чисто про Search API и восьмёрку/девятку. Там индекс используется только для поиска/фильтрации, а отображать можно любые поля - базовая сущность автоматически подтягивается по id из индекса.