/** * Post request for creating Subcategory * * @param FixtureInterface|null $fixture [optional] * @return array */ public function persist(FixtureInterface $fixture = null) { $data['general'] = $this->replaceMappingData($fixture->getData()); if ($fixture->hasData('landing_page')) { $data['general']['landing_page'] = $this->getBlockId($fixture->getLandingPage()); } $diff = array_diff($this->dataUseConfig, array_keys($data['general'])); if (!empty($diff)) { $data['use_config'] = $diff; } $parentCategoryId = $data['general']['parent_id']; $url = $_ENV['app_backend_url'] . 'catalog/category/save/store/0/parent/' . $parentCategoryId . '/'; $curl = new BackendDecorator(new CurlTransport(), new Config()); $curl->write(CurlInterface::POST, $url, '1.0', array(), $data); $response = $curl->read(); $curl->close(); preg_match('#http://.+/id/(\\d+).+store/#m', $response, $matches); $id = isset($matches[1]) ? (int) $matches[1] : null; return ['id' => $id]; }