Michel DONAT Posted April 28, 2009 Share Posted April 28, 2009 Bonjour,J'ai besoin d'enregistrer dans la base MySQL une info (une date)Est-ce que créer une nouvelle ligne dans la table configuration est une bonne idée ou est-ce que cette table est pour un usage privé ?Exemple :Name = 'ATOOLINK_LAST_DATE'Value = '2009-04-28'L'id_configuration étant auto_increment il n'y en pas de réservé ? Merci, Link to comment Share on other sites More sharing options...
Mambe Posted April 28, 2009 Share Posted April 28, 2009 Bonjour,A mon avis, il ne devrait pas y avoir de soucis quand au rajout d'une ligne dans la table configuration tant qu'il n'y pas de changement de strucuture de la table. Link to comment Share on other sites More sharing options...
Michel DONAT Posted April 28, 2009 Author Share Posted April 28, 2009 Bonjour,Oui je le pense aussi, mais dans l'absolu une confirmation d'un des développeurs serait bien venu ;-)Et oui je fait des ajouts de champs dans certaines tables, mais ils peuvent êtres NULL donc ça ne change en rien les requêtes de PrestaShop. Link to comment Share on other sites More sharing options...
Mambe Posted April 28, 2009 Share Posted April 28, 2009 En effet, mais ça peut parfois être dangereux pour certains 'INSERT' explicites (s'il y en a) où il faudra penser à ajouter les nouvelles colonnes même avec des valeurs NULL. Link to comment Share on other sites More sharing options...
Michel DONAT Posted April 28, 2009 Author Share Posted April 28, 2009 Bonsoir,Je ne vois pas en quoi, vu que dans tout les cas dans un Insert tu spécifie les champs et les valeurs ! Je n'ai pas modifié la structure des champs existant juste rajouté 1 ou 2 champs dans certaines tables.J'ai fait de même pour osCommerce et il n'y a pas eu de soucis sur la boutique en Front ou Back Office.Mais bon tant que... 8-/ Link to comment Share on other sites More sharing options...
StoreCommander Posted April 28, 2009 Share Posted April 28, 2009 Bonjour,J'ai besoin d'enregistrer dans la base MySQL une info (une date)Est-ce que créer une nouvelle ligne dans la table configuration est une bonne idée ou est-ce que cette table est pour un usage privé ?Exemple :Name = 'ATOOLINK_LAST_DATE'Value = '2009-04-28'L'id_configuration étant auto_increment il n'y en pas de réservé ? Merci, Bonsoir,oui c'est une bonne idée, voir du coté de Configuration::get et Configuration::updateValue(et getInt pour multilingue) Link to comment Share on other sites More sharing options...
Michel DONAT Posted April 28, 2009 Author Share Posted April 28, 2009 Bonsoir,Honte à moi :red: mais mon script lit en direct dans la table MySQL.Je n'utilise pas l'API PrestaShop, d'ailleurs est-ce qu'il y a une documentation sur cette API quelque part ?Cordialement, Link to comment Share on other sites More sharing options...
StoreCommander Posted April 28, 2009 Share Posted April 28, 2009 Non pas d'aide sur l'API, je me suis formé chez PrestaShop.Oui on peux utiliser directement cette table et ps_configuration_lang pour gérer le multilinguisme des valeurs. Link to comment Share on other sites More sharing options...
Michel DONAT Posted April 28, 2009 Author Share Posted April 28, 2009 Re,Je m'en sert juste pour stocker une date en faite.Il n'y a pas de notion de multi langue et c'est visible par personne non plus. Link to comment Share on other sites More sharing options...
SotEW Posted April 28, 2009 Share Posted April 28, 2009 Bonjour,Je me suis largement servi de la table de configuration pour la version 0.4 de mon module.voici quelques extraits de codes tiré du fichier .php de mon module : Configuration::updateValue('PS_SA_WidthLeft', 190) Ceci ajoutera la valeur 190 à la variable PS_SA_WidthLeft (ou mettera la variable PS_SA_WidthLeft à jour si elle existait déjà dans la table de configuration de prestashop.)Pour y acceder : $width = Configuration::get('PS_SA_WidthLeft'); Et enfin pour la supprimer de la table de configuration : Configuration::deleteByName('PS_SA_WidthLeft'); bon code ! Link to comment Share on other sites More sharing options...
Michel DONAT Posted April 28, 2009 Author Share Posted April 28, 2009 Merci pour l'info.Je met en résolu. Link to comment Share on other sites More sharing options...
ningu Posted April 29, 2009 Share Posted April 29, 2009 Question pour la team spécialement.Le setInvoice() de l'objet Order utilise cette API de donnée de configuration pour définir le numéro de la commande : public function setInvoice() { // Set invoice number $number = intval(Configuration::get('PS_INVOICE_NUMBER')); if (!intval($number)) die(Tools::displayError('Invalid invoice number')); $this->invoice_number = $number; Configuration::updateValue('PS_INVOICE_NUMBER', $number + 1); // Set invoice date $this->invoice_date = date('Y-m-d H:i:s'); // Save $this->update(); } On lit de dernier numéro de commande en configuration, on l'incrémente et on le restocke.Si 2 clients créent une commande quasiment en même temps, ils risquent de se retrouver avec le même numéro alors qu'on a 2 commande différentes :le 1er lit la config, l'incrément, puis le 2ie lit la config, l'incrément, le 1er stocke sa nouvelle valeur, le 2ie stocke sa nouvelle valeur.Existe-t-il un moyen de se protéger de cette non ré-entrance ?Ou suppose-t-on que cela ne devrait jamais arriver (quoique Murphy me dit toujours que ca finira par arriver) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now