Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
products_for_search.php
Go to the documentation of this file.
1 <?php
7 include 'category.php';
8 
13 
15  [
16  'type' => 'simple',
17  'id' => 101,
18  'name' => 'search product 1',
19  'sku' => 'search_product_1',
20  'status' => Status::STATUS_ENABLED,
21  'visibility' => Visibility::VISIBILITY_BOTH,
22  'attribute_set' => 4,
23  'website_ids' => [1],
24  'price' => 10,
25  'category_id' => 333,
26  'meta_title' => 'Key Title',
27  'meta_keyword' => 'meta keyword',
28  'meta_description' => 'meta description',
29  ],
30  [
31  'type' => 'simple',
32  'id' => 102,
33  'name' => 'search product 2',
34  'sku' => 'search_product_2',
35  'status' => Status::STATUS_ENABLED,
36  'visibility' => Visibility::VISIBILITY_BOTH,
37  'attribute_set' => 4,
38  'website_ids' => [1],
39  'price' => 10,
40  'category_id' => 333,
41  'meta_title' => 'Last Title',
42  'meta_keyword' => 'meta keyword',
43  'meta_description' => 'meta description',
44  ],
45  [
46  'type' => 'simple',
47  'id' => 103,
48  'name' => 'search product 3',
49  'sku' => 'search_product_3',
50  'status' => Status::STATUS_ENABLED,
51  'visibility' => Visibility::VISIBILITY_BOTH,
52  'attribute_set' => 4,
53  'website_ids' => [1],
54  'price' => 20,
55  'category_id' => 333,
56  'meta_title' => 'First Title',
57  'meta_keyword' => 'meta keyword',
58  'meta_description' => 'meta description',
59  ],
60  [
61  'type' => 'simple',
62  'id' => 104,
63  'name' => 'search product 4',
64  'sku' => 'search_product_4',
65  'status' => Status::STATUS_ENABLED,
66  'visibility' => Visibility::VISIBILITY_BOTH,
67  'attribute_set' => 4,
68  'website_ids' => [1],
69  'price' => 30,
70  'category_id' => 333,
71  'meta_title' => 'A title',
72  'meta_keyword' => 'meta keyword',
73  'meta_description' => 'meta description',
74  ],
75  [
76  'type' => 'simple',
77  'id' => 105,
78  'name' => 'search product 5',
79  'sku' => 'search_product_5',
80  'status' => Status::STATUS_ENABLED,
81  'visibility' => Visibility::VISIBILITY_BOTH,
82  'attribute_set' => 4,
83  'website_ids' => [1],
84  'price' => 40,
85  'category_id' => 333,
86  'meta_title' => 'meta title',
87  'meta_keyword' => 'meta keyword',
88  'meta_description' => 'meta description',
89  ],
90 ];
91 
94  ->create(CategoryLinkManagementInterface::class);
95 
97 
98 foreach ($products as $data) {
101  $product
102  ->setTypeId($data['type'])
103  ->setId($data['id'])
104  ->setAttributeSetId($data['attribute_set'])
105  ->setWebsiteIds($data['website_ids'])
106  ->setName($data['name'])
107  ->setSku($data['sku'])
108  ->setPrice($data['price'])
109  ->setMetaTitle($data['meta_title'])
110  ->setMetaKeyword($data['meta_keyword'])
111  ->setMetaDescription($data['meta_keyword'])
112  ->setVisibility($data['visibility'])
113  ->setStatus($data['status'])
114  ->setStockData(['use_config_manage_stock' => 0])
115  ->save();
116 
117  $categoriesToAssign[$data['sku']][] = $data['category_id'];
118 }
119 
120 foreach ($categoriesToAssign as $sku => $categoryIds) {
121  $categoryLinkManagement->assignProductToCategories($sku, $categoryIds);
122 }
$categoriesToAssign
$categoryLinkManagement