157 Posts
Hableur
8 years ago
3
Topic

Bonjour,

dans un formulaire, je souhaite valoriser un champ texte avec la date du jour, puis que ce champ soit enregistré dans une table perso, dans un champ varchar. J'ai utilisé un champ php "avant la sauvegarde" avec ce code :

$fields['contact_date']->value=date('Y-m-d');

Si je fais un echo, je vois bien que la valeur est correcte dans $fields['contact_date']->value. Cependant, cette valeur n'est pas sauvée dans la table perso correspondante (alors que les autres champs sont correctement enregistrés). 

Si je mets une valeur par défaut à contact_date, comme par exemple toto, j'ai le message d'alerte suivant à l'enregistrement :

Echec de la vérification de l'intégrité des données. Il semble que certaines valeurs aient été modifié : contact_date

Euh, justement c'est ce que je souhaite, modifier la donnée avant enregistrement...

Merci pour votre aide.

Get a Book for SEBLOD
157 Posts
Hableur
8 years ago
0
Level 1

J'ai résolu mon problème de date en utilisant le plugin datetime (merci Seblod), mais je n'ai toujours pas compris pourquoi je ne peux modifier ma donnée avant enregistrement...

35 Posts
julien
8 years ago
1
Level 1

Bonjour Hableur,

Tu peux juste lire la valeur avec $fields['contact_date']->value. Pour écrire une valeur dans ta base de donnée il faut utiliser $config.

Exemple avec un formulaire nommé entreprise et un champs adresse associé à ce formulaire avec un stockage par défaut:

$config['storages']['#__cck_store_form_entreprise']['adresse']="La valeur souhaitée";

Tuto içi

Cdt,

Julien

157 Posts
Hableur
8 years ago
0
Level 2

Merci, Julien, c'est clair et un lien a garder sous le coude.

Get a Book for SEBLOD