Jump to content

Problème arrondi inférieur Class Product


Recommended Posts

Bonsoir, je fais face à un problème au niveau de l'arrondi qu'effectue PrestaShop lors de la création d'un produit via la classe Product par un script. Il fonctionne très bien sauf au niveau du prix, du poids et de la largeur qui sont pris en compte comme des Int alors qu'ils devraient être en float... Donc dans le code ci-dessous, au lieu d'avoir 2,40 en largeur, j'ai 2,00, etc... Quelqu'un a déjà eu ce problème ?

 

$langId = (int)(Configuration::get('PS_LANG_DEFAULT'));
$produit = new Product();
$produit->name = array($langId => $nom);
$produit->id_category_default = 14;
$produit->id_tax_rules_group = 3;
$produit->description = array($langId => $description);
$produit->description_short = array($langId => $description);
$produit->link_rewrite = array($langId => Tools::link_rewrite($url));
$produit->width = 2.40;
$produit->weight = 2.50;
$produit->price = 5.40;
$produit->save();
Edited by matthieumota (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Sur la version 1.5.5 tout fonctionne bien et les variables sont en float

            'width' =>                         array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'height' =>                     array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'depth' =>                         array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'weight' =>                     array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),

post-459329-0-89004000-1380178659_thumb.png

Link to comment
Share on other sites

J'ai ce message d'erreur avec le debug...   [PrestaShopException]

Property Product->width is not valid

at line 837 in file classes/ObjectModel.php

831.

832.             $message = $this->validateField($field, $this->$field);

833.             if ($message !== true)

834.             {

835.                 if ($die)

836.                     throw new PrestaShopException($message);

837.                 return $error_return ? $message : false;

838.             }

839.         }

840.

841.         return true;

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...