Exemple #1
0
 /**
  * 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];
 }