добавить в корзину - несколько товаров одновременно


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

Модули, которые я пробовал:

  • пакет коммерческих продуктов - добавляет все продукты как один продукт, вы можете изменить только количество
  • коммерческий пакет - отдельные продукты, но поля количества отключены.

Ссылки на правила выглядят многообещающе, но я не совсем уверен, как это будет работать со многими наборами. У кого-нибудь есть решение для этого? Спасибо.

Случай пользователя: Создайте различные наборы продуктов (как типы контента) с помощью кнопки "Добавить в корзину". После добавления в корзину товары ведут себя как обычные простые товары. (Ubercart обладает такой функциональностью - при создании набора продуктов вы можете проверить, хотите ли вы товары должны вести себя в корзине как набор (связка) или как отдельные товары.)

 1
Author: loparr, 2014-12-07

3 answers

Я работаю над одним и тем же требованием - разные продукты из одного типа контента (набор продуктов), одна кнопка "Добавить в корзину" и продукты после добавления в корзину ведут себя нормально.

В этом процессе я использую модуль Commerce Product Kit. Он предоставляет средство форматирования полей для поля ссылка на продукт или поля ссылка на сущность, указывающего на коммерческие продукты.
Инструкции по использованию модуля приведены на странице проекта. Попробуйте это и сообщайте о любых проблемах, которые вы могли бы найти:)

P.S: Я являюсь автором и сопровождающим модуля.

 3
Author: AjitS, 2016-03-08 06:54:11

Торговля Добавить в корзину Дополнительные услуги

Этот модуль предоставляет альтернативные способы добавления товаров в корзину.

Начальная версия предоставляет обработчик полей представлений ("Коммерческий продукт: Поле ввода количества"), которое использует API формы представлений (часть представлений 3 начиная с RC1) для вывода текстового поля количества, которое превращает представление в форму добавления в корзину. Количество по умолчанию может быть настроено, и только продукты с количеством больше 0 добавляются в корзина.

 3
Author: Adi, 2015-09-28 08:10:46

Вы можете сделать это, создав правило , которое затем запускаете по ссылке правила или блоку просмотра VBO, например (скопировано отсюда https://www.drupal.org/node/1468392#comment-10270105):

Часть Правил:

  1. создайте новый компонент правил. Сделайте это набором действий.
  2. Сначала добавьте имя. НАПРИМЕР, "VBO Добавить В Корзину". Ниже вы увидите таблицу с тремя строками - вам нужно заполнить только верхнюю. Выберите коммерческий продукт из выпадающий список (в разделе Сущность), а затем заполните остальные 2 чем-то запоминающимся, например "Коммерческий продукт" для этикетки. Имя машины должно быть чем-то вроде commerce_product. Нажмите кнопку продолжить.
  3. На следующей странице выберите "добавить действие". Выберите тип действия: Добавить товар в корзину.
  4. На следующей странице вам нужно добавить пользователя и артикул. В поле пользователя начните с написания "сайт". Это вызовет выпадающий список, и вы сможете выбрать сайт: текущий пользователь. Затем для Артикул - сначала нажмите "переключиться на выбор данных". Затем вы можете щелкнуть в поле и выбрать объект, который вы назвали ранее (не сайт). Затем вы можете выбрать артикул. Теперь измените количество, если вам нужно, а затем нажмите Сохранить.

Часть представлений (легкая часть)

Для этого вам необходимо установить VBO. Создайте представление, отображающее таблицу коммерческих продуктов. Вы можете добавить поля имени и цены. Затем добавьте поле VBO. В списке действий вы должны увидеть свой новый созданное действие правила. Выберите его и, если хотите, пропустите подтверждение. В разделе "массовые параметры" я также изменил его на отображение в виде отдельных кнопок, так как у меня есть только одно действие, которое можно выполнить. Теперь сохраните представление. (Если вы хотите, чтобы галочка находилась слева от вашей таблицы, просто переставьте поля.

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

Или сделайте это программно, например

<?php
    global $user;
    $line_item = commerce_product_line_item_new(commerce_product_load($YOUR_PRODUCT_ID));
    commerce_cart_product_add($user->uid, $line_item);
    $line_item = commerce_product_line_item_new(commerce_product_load($OTHER_PRODUCT_ID));
    commerce_cart_product_add($user->uid, $line_item);
?>

В пользовательском (Ajax) обратном вызове.

 1
Author: rémy, 2016-04-03 05:09:42