Я пытаюсь создать модуль упаковки подарков для 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, сначала я хотел, чтобы он работал. Этот код создает позицию в базе данных, но не добавляет ее в представление содержимого корзины покупок на странице проверки оформления заказа. Я изменил представление корзины покупок, включив в него позиции продуктов и мои недавно созданные позиции подарочной упаковки.
Любая помощь по этому вопросу будет принята с благодарностью.