示例#1
0
 /**
  * get All Combinations for a product
  *
  * @param int $idProduct The product id
  *
  * @return string Json
  */
 public function getProductCombinationsAction($idProduct)
 {
     $response = new JsonResponse();
     //get product
     $productAdapter = $this->container->get('prestashop.adapter.data_provider.product');
     $product = $productAdapter->getProduct((int) $idProduct);
     //get combinations
     $modelMapper = new ProductAdminModelAdapter($product, $this->container->get('prestashop.adapter.legacy.context'), $this->container->get('prestashop.adapter.admin.wrapper.product'), $this->container->get('prestashop.adapter.tools'), $this->container->get('prestashop.adapter.data_provider.product'), $this->container->get('prestashop.adapter.data_provider.supplier'), $this->container->get('prestashop.adapter.data_provider.warehouse'), $this->container->get('prestashop.adapter.data_provider.feature'), $this->container->get('prestashop.adapter.data_provider.pack'), $this->container->get('prestashop.adapter.shop.context'));
     $combinations = $modelMapper->getAttributesResume();
     $combinationList = array();
     foreach ($combinations as $combination) {
         $combinationList[] = ['id' => $combination['id_product_attribute'], 'name' => $combination['attribute_designation']];
     }
     $response->setData($combinationList);
     return $response;
 }