/** * Prepare POST data for creating product request. * * @param FixtureInterface $fixture * @param string|null $prefix [optional] * @return array */ protected function prepareData(FixtureInterface $fixture, $prefix = null) { $data = parent::prepareData($fixture, null); $bundleOptions = $this->prepareBundleOptions($data['bundle_selections']); $bundleSelections = $this->prepareBundleSelections($data['bundle_selections']); $data = $prefix ? [$prefix => $data] : $data; $data['bundle_selections'] = $bundleSelections; $data['bundle_options'] = $bundleOptions; return $this->replaceMappingData($data); }
/** * Prepare POST data for creating product request. * * @param FixtureInterface $product * @param string|null $prefix [optional] * @return array */ protected function prepareData(FixtureInterface $product, $prefix = null) { /** @var ConfigurableProduct $product */ $valuesIndexes = $this->getIndexValues($product); $data = parent::prepareData($product, $prefix); $data['configurable_products_data'] = $this->prepareConfigurableProductData($product, $valuesIndexes); $data['configurable_attributes_data'] = $this->prepareConfigurableAttributeData($product, $valuesIndexes); $data['affect_configurable_product_attributes'] = 1; return $this->replaceMappingData($data); }
/** * Prepare POST data for creating product request. * * @param FixtureInterface $fixture * @param string|null $prefix [optional] * @return array */ protected function prepareData(FixtureInterface $fixture, $prefix = null) { $data = parent::prepareData($fixture, $prefix); if (isset($data[$prefix]['giftcard_amounts'])) { foreach ($data[$prefix]['giftcard_amounts'] as $key => $amounts) { if (!isset($amounts['website_id'])) { $data[$prefix]['giftcard_amounts'][$key]['website_id'] = 0; } } } return $data; }
/** * Prepare POST data for creating product request. * * @param FixtureInterface $fixture * @param string|null $prefix [optional] * @return array */ protected function prepareData(FixtureInterface $fixture, $prefix = null) { $data = parent::prepareData($fixture, null); $assignedProducts = []; if (!empty($data['associated'])) { $assignedProducts = $data['associated']; unset($data['associated']); } $data = $prefix ? [$prefix => $data] : $data; $links = ''; $fKey = md5('associated'); foreach ($assignedProducts as $key => $item) { $links .= $item['id'] . '=' . $fKey . '&'; } $data['links']['grouped'] = $links; return $data; }
/** * Prepare POST data for creating product request. * * @param FixtureInterface $fixture * @param string|null $prefix [optional] * @return array */ protected function prepareData(FixtureInterface $fixture, $prefix = null) { $originalData = parent::prepareData($fixture, $prefix); $downloadableData = []; $data = $prefix == null ? $originalData : $originalData[$prefix]; foreach ($this->downloadableTypes as $type => $fields) { if (!empty($data['downloadable_' . $type])) { $downloadableTypeData = $this->{'prepare' . ucfirst($type) . 'Data'}($data['downloadable_' . $type]); $data = array_merge_recursive($data, array_intersect_key($downloadableTypeData, array_flip($fields))); $downloadableData = array_merge_recursive($downloadableData, $downloadableTypeData); unset($downloadableTypeData['downloadable']); if ($prefix == null) { $originalData = array_merge($originalData, $downloadableTypeData); } else { $originalData[$prefix] = array_merge($originalData[$prefix], $downloadableTypeData); } } } $data = array_merge_recursive($originalData, $downloadableData); return $this->replaceMappingData($data); }