2017-04-18 11 views
1

カスタムフォームで製品を注文するにはどうすればよいですか? この私のコード:Ubercart:プログラムによる注文をプログラムで作成するDrupal 8

$order = Order::create(array(
    'uid' => $uid, 
    'order_status' => uc_order_state_default('post_checkout'), 
)); 
$order->save(); 
uc_order_comment_save($order->id(), $this->currentUser()->id(), $this->t('Order created by the administration.'), 'admin'); 
$product = \Drupal\node\Entity\Node::load($nid); 
uc_order_product_save($order->id(), $product); 

注文が保存された....しかし、私のために関連していない製品。助けてください!

私が使用してdrupalの8.3とUbercart 8.xの-4.0-ALPHA5が、私はオーダー製品に関連する解決策を見つける必要があり
あなたのコードが動作しない理由を私も見つけていない

答えて

1

...イド。

注文IDに商品を割り当てるには、このコードをお試しください。

$product = Drupal::entityTypeManager()->getStorage('uc_order_product')->create(array(
'qty' => 1, 
'order_id' => $order->id(), 
'nid' => $nid, 
)); 

$product->save(); 
+0

私はそれを行いました!どうもありがとうございました。 –

+0

FormBaseクラスを拡張するカスタムフォームでプログラムで行うことができません。私たちが拡張または使用する必要があるクラスはどれですか? –

関連する問題