Ubercart корзина "укладка" - PullRequest
       9

Ubercart корзина "укладка"

1 голос
/ 01 февраля 2011

На своем веб-сайте я использую hook_add_to_cart_data, чтобы добавить дополнительные настройки для элементов. Когда добавляются два одинаковых продукта, но с разными значениями $data, кажется, что Ubercart сдавливает старый $data и складывает элементы в корзину, обновляя $qty вместо добавления нового элемента.

Как я могу сказать ubercart обрабатывать новый элемент и старый элемент как разные элементы в корзине, чтобы они не складывались, и могу ли я иначе контролировать это поведение?

1 Ответ

1 голос
/ 01 февраля 2011

Нет, это не должно, см. Функцию uc_cart_get_contents в uc_cart.module, строка # 1358:

  for ($i = 0; $i < count($items[$cid]); $i++) {
    if ($items[$cid][$i]->nid == $item->nid && $items[$cid][$i]->data == $item->data) {
      $items[$cid][$i]->qty += $item->qty;
      continue 2;
    }
  }

Одна из причин: какой-то другой модуль объединяет (или очищает) эти данные $ для обоихпродукты, перед вызовом функции uc_cart_get_contents в uc_cart_add_item функции, в hook_add_to_cart_data реализации.

...