Jump to content

Edit History

Eolia

Eolia

Vous êtes certain de ne pas avoir d'override sur classes/Order, classes/orderDetail, classes/Cart controllers/front/OrderController, controllers/front/CartController ou classes/PaymentModule ?

Dans paymentModule:

$order_detail->createList($order, $this->context->cart, $id_order_state, $order->product_list, 0, true, $package_list[$id_address][$id_package]['id_warehouse']);

Dans OrderDetail:

        foreach ($product_list as $product) {
            $this->create($order, $cart, $product, $id_order_state, $id_order_invoice, $use_taxes, $id_warehouse);
        }

...

	$this->product_customization_id = $product['id_customization'] ? (int)$product['id_customization'] : 0;

 

C'est la fonction Order::getProducts() qui récupère ces id.

    public function getProducts($products = false, $selected_products = false, $selected_qty = false)
    {
        if (!$products) {
            $products = $this->getProductsDetail();
        }

        $customized_datas = Product::getAllCustomizedDatas($this->id_cart);

        $result_array = array();
        foreach ($products as $row) {
            $row['id_product_attribute'] = isset($row['product_attribute_id']) ? $row['product_attribute_id'] : 0;
            $row['id_customization'] = isset($row['product_customization_id']) ? $row['product_customization_id'] : 0;
            // Change qty if selected
            if ($selected_qty) {
                $row['product_quantity'] = 0;
                foreach ($selected_products as $key => $id_product) {
                    if ($row['id_order_detail'] == $id_product) {
                        $row['product_quantity'] = (int)$selected_qty[$key];
                    }
                }
                if (!$row['product_quantity']) {
                    continue;
                }
            }

            $this->setProductImageInformations($row);
            $this->setProductCurrentStock($row);

            // Backward compatibility 1.4 -> 1.5
            $this->setProductPrices($row);

            $this->setProductCustomizedDatas($row, $customized_datas);

            // Add information for virtual product
            if ($row['download_hash'] && !empty($row['download_hash'])) {
                $row['filename'] = ProductDownload::getFilenameFromProduct((int)$row['product_id'], (int)$row['product_attribute_id']);
                // Get the display filename
                $row['display_filename'] = ProductDownload::getDisplayFilenameFromProduct((int)$row['product_id'], (int)$row['product_attribute_id']);
            }

            $row['id_address_delivery'] = $this->id_address_delivery;

            /* Stock product */
            $result_array[(int)$row['id_order_detail']] = $row;
        }

        if ($customized_datas) {
            Product::addCustomizationPrice($result_array, $customized_datas);
        }

        return $result_array;
    }

 

Eolia

Eolia

Vous êtes certain de ne pas avoir d'override sur classes/Order, classes/orderDetail,  controllers/front/OrderController ou classes/PaymentModule ?

Dans paymentModule:

$order_detail->createList($order, $this->context->cart, $id_order_state, $order->product_list, 0, true, $package_list[$id_address][$id_package]['id_warehouse']);

Dans OrderDetail:

        foreach ($product_list as $product) {
            $this->create($order, $cart, $product, $id_order_state, $id_order_invoice, $use_taxes, $id_warehouse);
        }

...

	$this->product_customization_id = $product['id_customization'] ? (int)$product['id_customization'] : 0;

 

C'est la fonction Order::getProducts() qui récupère ces id.

    public function getProducts($products = false, $selected_products = false, $selected_qty = false)
    {
        if (!$products) {
            $products = $this->getProductsDetail();
        }

        $customized_datas = Product::getAllCustomizedDatas($this->id_cart);

        $result_array = array();
        foreach ($products as $row) {
            $row['id_product_attribute'] = isset($row['product_attribute_id']) ? $row['product_attribute_id'] : 0;
            $row['id_customization'] = isset($row['product_customization_id']) ? $row['product_customization_id'] : 0;
            // Change qty if selected
            if ($selected_qty) {
                $row['product_quantity'] = 0;
                foreach ($selected_products as $key => $id_product) {
                    if ($row['id_order_detail'] == $id_product) {
                        $row['product_quantity'] = (int)$selected_qty[$key];
                    }
                }
                if (!$row['product_quantity']) {
                    continue;
                }
            }

            $this->setProductImageInformations($row);
            $this->setProductCurrentStock($row);

            // Backward compatibility 1.4 -> 1.5
            $this->setProductPrices($row);

            $this->setProductCustomizedDatas($row, $customized_datas);

            // Add information for virtual product
            if ($row['download_hash'] && !empty($row['download_hash'])) {
                $row['filename'] = ProductDownload::getFilenameFromProduct((int)$row['product_id'], (int)$row['product_attribute_id']);
                // Get the display filename
                $row['display_filename'] = ProductDownload::getDisplayFilenameFromProduct((int)$row['product_id'], (int)$row['product_attribute_id']);
            }

            $row['id_address_delivery'] = $this->id_address_delivery;

            /* Stock product */
            $result_array[(int)$row['id_order_detail']] = $row;
        }

        if ($customized_datas) {
            Product::addCustomizationPrice($result_array, $customized_datas);
        }

        return $result_array;
    }

 

×
×
  • Create New...