Jump to content

Erreur modification d'un modèle


Recommended Posts

Bonjour,

 

J'ai ajouté des champs à un formulaire et j'ai modifié le modèle en ajoutant la déclarations de variables et en ajoutant à la méthode add du modèle.

 

je précise que ces variables sont des int et qu'elles ne subissent aucun traitement dans le formulaire. Mon but est juste de les stocké dans ma base de données.

 

Mes variables s’appellent mensuration_poitrine, mensuration_taille, mensuration_bassin Mais pour simplifier, je vais jsute indiquer mensuration car ces 3 variables subissent le même traitement.

 

Pour chaque variable, voici le code que j'ai ajouté :

 

 

- Dans la déclaration de variable
public $mensuration;

 

- Dans le tableau de définition

'mensuration' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),

 

- Dans la fonction add($autodate = true, $null_values = true)

$this->mensuration = mensuration;

 

Voyez-vous si il me manque un morceau de code, une notion que je n'ai pas comprise.

 

Voici les erreurs que j'ai

 

554b22e5dbbac.png

 

Merci d'avance.

Link to comment
Share on other sites

Merci pour ta réponse Eolia !

 

J'ai fais les modifications et je n'ai plus d'erreur.

Par contre, peu importe la valeur que je met dans mes champs mensuration, la valeur 0 est enregistré dans la base de données.

 

Par exemple, voici le début de la fonction add

public function add($autodate = true, $null_values = true)
{
$this->id_shop = ($this->id_shop) ? $this->id_shop : Context::getContext()->shop->id;
$this->id_shop_group = ($this->id_shop_group) ? $this->id_shop_group : Context::getContext()->shop->id_shop_group;
$this->id_lang = ($this->id_lang) ? $this->id_lang : Context::getContext()->language->id;
$this->birthday = (empty($this->years) ? $this->birthday : (int)$this->years.'-'.(int)$this->months.'-'.(int)$this->days);
/*[...]*/
}

Or, je n'ai pas l'impression d'avoir besoin d'utiliser un opérateur ternaire ou encore un getContext() pour juste faire attribuer la valeur d'un champs texte à une variable (Je ne sais pas si c'est très clair).

 

Une affectation (celle modifié par Eolia) toute simple comme ci-dessous, me paraissais suffisante : 

$this->mensuration = $mensuration;

Mon champs texte est déclaré comme ceci :

<div>
    <label for="mensuration">{l s='Mensuration'}</label>
    <input type="text" class="is_required validate form-control" style="width:200px;" />
</div>

Merci d'avance

Edited by JFItescia (see edit history)
Link to comment
Share on other sites

Ben il manque des choses...

Votre input doit avoir un nom, donc

<div>
    <label for="mensuration">{l s='Mensuration'}</label>
    <input type="text" name="mensuration" id="mensuration" class="is_required validate form-control" style="width:200px;" />
</div>

De plus, si vous utilisez un label for id, votre input doit avoir un id, donc je l'ai rajouté également^^

 

ensuite en début de traitement, il faut récupérer la valeur entrée grâce à cet identifiant(name)

$mensuration = Tools::getValue('mensuration');

Ca devrait aller mieux :)

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