Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
shipment_items_for_search.php
Go to the documentation of this file.
1 <?php
9 use Magento\Sales\Model\Order\Item as OrderItem;
12 
13 require 'default_rollback.php';
14 require __DIR__ . '/order.php';
15 
17 $payment = $order->getPayment();
18 $paymentInfoBlock = Bootstrap::getObjectManager()->get(Data::class)
19  ->getInfoBlock($payment);
20 $payment->setBlockMock($paymentInfoBlock);
21 
22 $items = [
23  [
24  'name' => 'item 1',
25  'base_price' => 10,
26  'price' => 10,
27  'row_total' => 10,
28  'product_type' => 'simple',
29  ],
30  [
31  'name' => 'item 2',
32  'base_price' => 20,
33  'price' => 20,
34  'row_total' => 20,
35  'product_type' => 'simple',
36  ],
37  [
38  'name' => 'item 3',
39  'base_price' => 30,
40  'price' => 30,
41  'row_total' => 30,
42  'product_type' => 'simple',
43  ],
44  [
45  'name' => 'item 4',
46  'base_price' => 40,
47  'price' => 40,
48  'row_total' => 40,
49  'product_type' => 'simple',
50  ],
51  [
52  'name' => 'item 5',
53  'base_price' => 50,
54  'price' => 50,
55  'row_total' => 50,
56  'product_type' => 'simple',
57  ],
58 ];
59 
60 foreach ($items as $data) {
62  $orderItem = $objectManager->create(OrderItem::class);
63  $orderItem->setName($data['name']);
64  $orderItem->setProductId($product->getId());
65  $orderItem->setBasePrice($data['base_price']);
66  $orderItem->setPrice($data['price']);
67  $orderItem->setRowTotal($data['row_total']);
68  $orderItem->setProductType($data['product_type']);
69  $orderItem->setQtyOrdered(10);
70  $orderItem->setQtyInvoiced(5);
71  $orderItem->setOriginalPrice(20);
72 
73  $order->addItem($orderItem);
74  $order->save();
75 }
76 
77 $items = [];
78 foreach ($order->getItems() as $orderItem) {
79  $items[$orderItem->getId()] = $orderItem->getQtyOrdered();
80 }
81 $shipment = Bootstrap::getObjectManager()->get(ShipmentFactory::class)->create($order, $items);
82 $shipment->setPackages([['1'], ['2']]);
83 $shipment->setShipmentStatus(\Magento\Sales\Model\Order\Shipment::STATUS_NEW);
84 $shipment->save();
$objectManager
Definition: bootstrap.php:17
$orderItem
Definition: order.php:30
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
$order
Definition: order.php:55
foreach($order->getItems() as $orderItem) $shipment