Приветствую специалистов по views.
Допустим у ноды есть значение, сформированное вьюхой.
Типа:
- Самый похожий товар
- Самый частый покупатель
- Минимальная цена в этой категории
Вопрос: как эти значение использовать в качестве критериев фильтрации и сортировки во вьюхе выводящей ноды?
Комментарии
https://www.drupal.org/project/other_view_filter
Вот только вчера задался таким вопросом и нашёл модуль.
Неужели мы действительно думаем об одном?
Ок, другой пример.
Вьюха выводит вариации товара с сортировкой по цене. Количество элементов 1. Т. обр. по контекстному фильтру ID товара получаем его самую дешевую вариацию - численное значение.
Можно использовать это значение для фильтрации и сортировки товаров в их вьюхе?
С other_view_filter в параметрах фильтрации вьюха минимума появляется только после того, как добавлена связь Вариации. Но там нигде нельзя указать численное значение.
Ну да, видимо, всё же разные задачи немного. Тот модуль берёт результаты вьюхи, как набор сущностей. И их можно исключить из другой вьюхи, лиьо наоборот, сделать, чтобы другая вьюха показывала такие же результаты.
С другой стороны, в твоей задаче тоже много непонятного. Например, зачем использовать значение наименьшей цены, чтобы сортировать? Или как можно использовать наименьшую цену в фильтрах? Вот именно в этом кейсе я не вижу практичского смысла. Меньше минимальной цены будет пустой результат. Больше минимальной цены выведет все результаты. Это типа как "дайте мне список всех людей, кто выше одного сантиметра")))
Ок, как во вьюхе выводящей товары от Commerce сделать сортировку по цене?
Сделать связь с вариацией. И отсортировать по полю вариации. Если бывает по много вариаций у товара, то повесить агрегацию по минимуму или максимуму в зависимости от того, под кого сайт заточен - под бичей или мажоров)))))
Спасибо! В сортировка по цене поставил Тип агрегации - Минимум - заработало.
Во вьюхе 2 проблемных поля оказалось:
1. Изображение товара (именно товара, а не вариации) - сыпет ошибками
2. body товара - выводит HTML теги при выводе.
Во вьюху, которая выводит товары поставил:
Связь - Product variation
Использовать агрегацию: Да
После этого посыпало ошибками:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'commerce_product__field_produkt_images.field_produkt_images_' in 'field list': SELECT commerce_product_field_data.title AS commerce_product_field_data_title, commerce_product_field_data.langcode AS commerce_product_field_data_langcode, commerce_product__field_produkt_images.field_produkt_images_ AS commerce_product__field_produkt_images_field_produkt_images_, commerce_product__body.body_value AS commerce_product__body_body_value, MIN(commerce_product_field_data.product_id) AS product_id FROM {commerce_product_field_data} commerce_product_field_data LEFT JOIN {commerce_product__field_produkt_images} commerce_product__field_produkt_images ON commerce_product_field_data.product_id = commerce_product__field_produkt_images.entity_id AND commerce_product__field_produkt_images.deleted = :views_join_condition_0 LEFT JOIN {commerce_product__body} commerce_product__body ON commerce_product_field_data.product_id = commerce_product__body.entity_id AND (commerce_product__body.deleted = :views_join_condition_1 AND commerce_product__body.langcode = commerce_product_field_data.langcode) WHERE commerce_product_field_data.status = :db_condition_placeholder_3 GROUP BY commerce_product_field_data_title, commerce_product_field_data_langcode, commerce_product__field_produkt_images_field_produkt_images_, commerce_product__body_body_value LIMIT 11 OFFSET 0; Array ( [:db_condition_placeholder_3] => 1 [:views_join_condition_0] => 0 [:views_join_condition_1] => 0 )
Решил так.
1. в настройках агрегации поля Изображения изменил Столбец группировки, а потом опять вернул на "Идентификатор сущности" - ошибки ушли.
2. в настройках агрегации поля body товара Столбец группировки - тоже "Идентификатор сущности" - стало показывать текст, как надо.
Не понимаю почему так...
Агрегация часто глючит именно подобным образом. Иногда даже достаточно открыть настройки и нажать ОК, ничего не меняя. В семёрке, кстати, то же самое бывало частенько.
Ок, спасибо еще раз.
Не знаю даже это проблема ядра или Комерца. Напишу разрабам, как разберусь.
Это именно вьюсов проблема. Без коммерса такое тоже бывает.