Esempio n. 1
0
 private function saveProductsIntoParcel(DpdPolandParcel $parcel, $products)
 {
     foreach ($products as $product) {
         if ($product['parcel'] == $parcel->number) {
             $parcelProduct = new DpdPolandParcelProduct();
             $parcelProduct->id_parcel = (int) $parcel->id_parcel;
             $parcelProduct->id_product = (int) $product['id_product'];
             $parcelProduct->id_product_attribute = (int) $product['id_product_attribute'];
             $productObj = new Product((int) $product['id_product']);
             $combination = new Combination((int) $product['id_product_attribute']);
             $parcelProduct->name = version_compare(_PS_VERSION_, '1.5', '<') ? $productObj->name[(int) Context::getContext()->language->id] : Product::getProductName($product['id_product'], $product['id_product_attribute']);
             $parcelProduct->weight = (double) $combination->weight + (double) $productObj->weight;
             if (!$parcelProduct->add()) {
                 self::$errors[] = sprintf($this->l('Unable to save product #%s to parcel #%d'), $parcelProduct->id_product . '-' . $parcelProduct->id_product_attribute, $parcelProduct->id_parcel);
                 return false;
             }
         }
     }
     return true;
 }