Добавление позиции Drupal Commerce в заказ из модуля - PullRequest
0 голосов
/ 03 ноября 2011

Я пытаюсь создать модуль упаковки подарков для Drupal commerce. Я создал панель оформления заказа, в которой есть поле выбора, чтобы пользователь мог выбрать, хотите ли они, чтобы его подарок был упакован (и поле для выбора цены подарочной упаковки в форме конфигурации). Я также создал тип позиции подарочной упаковки. В функции base_checkout_form_submit () панели я хотел бы создать позицию подарочной упаковки, которая добавляется в заказ вместе с продуктами. Это то, что у меня так далеко:

/**
 * Implements base_checkout_form_submit()
 */
function commerce_giftwrap_pane_checkout_form_submit($form, &$form_state, $checkout_pane, $order) {

  $default_currency_code = commerce_default_currency();
  if ($balance = commerce_payment_order_balance($order)) {
    $default_currency_code = $balance['currency_code'];
  }

  // Create the new line item.
  $line_item = commerce_line_item_new('giftwrap', $order->order_id);

  $line_item->line_item_label = 'Gift Wrapping';
  $line_item->quantity = 1;
  $line_item->commerce_unit_price['amount'] = variable_get('commerce_giftwrap_price', '2.00');
  $line_item->commerce_unit_price['currency_code'] = $default_currency_code;

  commerce_line_item_save($line_item);  
}

Я еще не завернул его в оператор if, сначала я хотел, чтобы он работал. Этот код создает позицию в базе данных, но не добавляет ее в представление содержимого корзины покупок на странице проверки оформления заказа. Я изменил представление корзины покупок, включив в него позиции продуктов и мои недавно созданные позиции подарочной упаковки.

Любая помощь по этому вопросу будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Я разработал это и загрузил модуль как проект песочницы на drupal .

0 голосов
/ 17 ноября 2011

Я не уверен, поможет ли это, но вы можете попробовать реализовать: hook_commerce_line_item_type_info () .

...