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; }