/** * Create a new Product * @param array $data * @return object */ public function create(array $data) { if (isset($data["number"])) { $number = $data["number"]; } else { $all = $this->all(); $number = end($all)->Number + 1; } $group = new Group($this->client_raw); $groupHandle = $group->getHandle($data['group']); $productHandle = $this->client->Product_Create(array("number" => $number, "productGroupHandle" => $groupHandle, "name" => $data["name"]))->Product_CreateResult; unset($data['name']); unset($data['group']); $this->client->Product_SetIsAccessible(array('productHandle' => $productHandle, "value" => true)); return $this->update($productHandle, $data); }