Jump to content

Produits en pack avec quantité float


Recommended Posts

Bonjour à tous 🙂

Bonjour
Je cherche depuis quelque temps la possibilité d’ajouté des quantités float dans un pack de produits
Je me suis donc penché dans la base de donnée et j’ai changé la propriété de quantity de int(10) à float dans la table ps_pack
Jusque-là tout va bien 
Si mon pack est déjà créé il affiche très bien les quantités décimales dans la fiche produits en backoff et frontoff.
Il calcul aussi très bien le montant du pack suivant les quantités rentrées dans la base de données.

Donc je me dis qu’il suffirait de changer le (int) de quantity dans class/pack.php en float tout bêtement et bien non lol 
Voila ce que je fait :

public static function isInStock($idProduct, $wantedQuantity = 1, Cart $cart = null)
    {
        if (!Pack::isFeatureActive()) {
            return true;
        }
        $idProduct = (int) $idProduct;
        $wantedQuantity = (float) $wantedQuantity; <=== Ici
        $product = new Product($idProduct, false);
        $packQuantity = self::getQuantity($idProduct, null, null, $cart);

        if ($product->isAvailableWhenOutOfStock($product->out_of_stock)) {
            return true;
        } elseif ($wantedQuantity > $packQuantity) {
            return false;
        }

        return true;
    } 

Puis ensuite je change l’insertion dans la table ps_pack par

public static function addItem($id_product, $id_item, $qty, $id_attribute_item = 0)
    {
        $id_attribute_item = (int) $id_attribute_item ? (int) $id_attribute_item : Product::getDefaultAttribute((int) $id_item);

        return Db::getInstance()->update('product', array('cache_is_pack' => 1), 'id_product = ' . (int) $id_product) &&
            Db::getInstance()->insert('pack', array(
                'id_product_pack' => (int) $id_product,
                'id_product_item' => (int) $id_item,
                'id_product_attribute_item' => (int) $id_attribute_item,
                'quantity' => (float) $qty, <== Ici
                ))
            && Configuration::updateGlobalValue('PS_PACK_FEATURE_ACTIVE', '1');
    }

Mais ca marche pas !
Il ne prend pas compte !
Une idée pour m’aider . ?

Cordialement

Thomas

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...