Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
UpdateCustomerAttributesMetadata.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Customer\Setup\CustomerSetupFactory;
14 
20 {
24  private $moduleDataSetup;
25 
29  private $customerSetupFactory;
30 
36  public function __construct(
37  ModuleDataSetupInterface $moduleDataSetup,
38  CustomerSetupFactory $customerSetupFactory
39  ) {
40  $this->moduleDataSetup = $moduleDataSetup;
41  $this->customerSetupFactory = $customerSetupFactory;
42  }
43 
47  public function apply()
48  {
50  $customerSetup = $this->customerSetupFactory->create(['setup' => $this->moduleDataSetup]);
51  $this->updateCustomerAttributesMetadata($customerSetup);
52  }
53 
59  private function updateCustomerAttributesMetadata($customerSetup)
60  {
61  $entityAttributes = [
62  'customer' => [
63  'website_id' => [
64  'is_used_in_grid' => true,
65  'is_visible_in_grid' => true,
66  'is_filterable_in_grid' => true,
67  'is_searchable_in_grid' => false,
68  ],
69  'created_in' => [
70  'is_used_in_grid' => true,
71  'is_visible_in_grid' => true,
72  'is_filterable_in_grid' => false,
73  'is_searchable_in_grid' => true,
74  ],
75  'email' => [
76  'is_used_in_grid' => true,
77  'is_visible_in_grid' => true,
78  'is_filterable_in_grid' => true,
79  'is_searchable_in_grid' => true,
80  ],
81  'group_id' => [
82  'is_used_in_grid' => true,
83  'is_visible_in_grid' => true,
84  'is_filterable_in_grid' => true,
85  'is_searchable_in_grid' => false,
86  ],
87  'dob' => [
88  'is_used_in_grid' => true,
89  'is_visible_in_grid' => true,
90  'is_filterable_in_grid' => true,
91  'is_searchable_in_grid' => false,
92  ],
93  'taxvat' => [
94  'is_used_in_grid' => true,
95  'is_visible_in_grid' => true,
96  'is_filterable_in_grid' => false,
97  'is_searchable_in_grid' => true,
98  ],
99  'confirmation' => [
100  'is_used_in_grid' => true,
101  'is_visible_in_grid' => true,
102  'is_filterable_in_grid' => true,
103  'is_searchable_in_grid' => false,
104  ],
105  'created_at' => [
106  'is_used_in_grid' => true,
107  'is_visible_in_grid' => true,
108  'is_filterable_in_grid' => true,
109  'is_searchable_in_grid' => false,
110  ],
111  'gender' => [
112  'is_used_in_grid' => true,
113  'is_visible_in_grid' => true,
114  'is_filterable_in_grid' => true,
115  'is_searchable_in_grid' => false,
116  ],
117  ],
118  'customer_address' => [
119  'company' => [
120  'is_used_in_grid' => true,
121  'is_visible_in_grid' => false,
122  'is_filterable_in_grid' => false,
123  'is_searchable_in_grid' => true,
124  ],
125  'street' => [
126  'is_used_in_grid' => true,
127  'is_visible_in_grid' => false,
128  'is_filterable_in_grid' => false,
129  'is_searchable_in_grid' => true,
130  ],
131  'city' => [
132  'is_used_in_grid' => true,
133  'is_visible_in_grid' => false,
134  'is_filterable_in_grid' => false,
135  'is_searchable_in_grid' => true,
136  ],
137  'country_id' => [
138  'is_used_in_grid' => true,
139  'is_visible_in_grid' => true,
140  'is_filterable_in_grid' => true,
141  'is_searchable_in_grid' => false,
142  ],
143  'region' => [
144  'is_used_in_grid' => true,
145  'is_visible_in_grid' => true,
146  'is_filterable_in_grid' => false,
147  'is_searchable_in_grid' => true,
148  ],
149  'region_id' => [
150  'is_used_in_grid' => true,
151  'is_visible_in_grid' => false,
152  'is_filterable_in_grid' => true,
153  'is_searchable_in_grid' => false,
154  ],
155  'postcode' => [
156  'is_used_in_grid' => true,
157  'is_visible_in_grid' => true,
158  'is_filterable_in_grid' => true,
159  'is_searchable_in_grid' => true,
160  ],
161  'telephone' => [
162  'is_used_in_grid' => true,
163  'is_visible_in_grid' => true,
164  'is_filterable_in_grid' => true,
165  'is_searchable_in_grid' => true,
166  ],
167  'fax' => [
168  'is_used_in_grid' => true,
169  'is_visible_in_grid' => false,
170  'is_filterable_in_grid' => false,
171  'is_searchable_in_grid' => true,
172  ],
173  ],
174  ];
175  $customerSetup->upgradeAttributes($entityAttributes);
176  }
177 
181  public static function getDependencies()
182  {
183  return [
184  DefaultCustomerGroupsAndAttributes::class,
185  ];
186  }
187 
191  public static function getVersion()
192  {
193  return '2.0.1';
194  }
195 
199  public function getAliases()
200  {
201  return [];
202  }
203 }
__construct(ModuleDataSetupInterface $moduleDataSetup, CustomerSetupFactory $customerSetupFactory)