Maxxean Posted September 17, 2010 Share Posted September 17, 2010 BonjourJe suis inscrit sur ce forum depuis plus d'un an,je n'avais jamais posé de question depuis ce temps.Étant débutant en informatique je pensais ne pas pouvoir comprendre les réponseséventuelles à mes questions.Maintenant cela va un peu mieux, je commence à comprendre la mécanique d'un site internet.Donc voila ma questionJe viens d'installer le module Cadeau d'anniversaire, il fonctionne très bien. Avec ce code la validité du cadeau d'anniversaire est de 1 anfrom = date('y-m-d'); to = (date('y')+1).date('-m-d');Je voudrais ramener cette validité à 30 jours ou un mois. J'ai fait quelques essais avec différentes formules trouvées sur internet, mais rien ne fonctionne.Merci à ceux qui auraient une réponse.Cordialement Link to comment Share on other sites More sharing options...
jeckyl Posted September 17, 2010 Share Posted September 17, 2010 Salut,et si tu fais : from = date(‘y-m-d’); to = date(‘y-’).(date(’m’)+1).date(-d); Link to comment Share on other sites More sharing options...
Maxxean Posted September 21, 2010 Author Share Posted September 21, 2010 BonjourMalheureusement cela ne fonctionne pas.Peut être que quelqu'un a une autre proposition. Link to comment Share on other sites More sharing options...
jeckyl Posted September 21, 2010 Share Posted September 21, 2010 Bonjour,peut être trouverez vous une explication avec cette documentation : http://www.php.net/manual/fr/function.strtotime.php Link to comment Share on other sites More sharing options...
Maxxean Posted September 26, 2010 Author Share Posted September 26, 2010 BonjourToujours pas résolu mon problème.Je veux configurer 2 modules de la même manière, c'est à dire validité de 2 ou 3 mois à partir du jour de la commande ou du jour de l'anniversaire.Le module loyalty-program.php (bon de fidélité, commande) fonctionne comme je le souhaite.Par contre avec le même code date_from et date_to le module birthdaypresent.php me donne la bonne validité mais à partir du 01/01/1970, je ne sais pas ce que je dois changer ?Ci joint copie des 2 modules /* voucher creation and add to customer */ $voucher = new Discount(); $voucher->name = $voucherCode; $voucher->id_discount_type = 2; // Discount on order (amount) $voucher->id_customer = intval($cookie->id_customer); $voucher->value = LoyaltyModule::getVoucherValue($customerPoints); $voucher->quantity = 1; $voucher->quantity_per_user = 1; $voucher->cumulable = 1; $voucher->cumulable_reduction = 1; $dateFrom = time(); if (Configuration::get('PS_ORDER_RETURN')) $dateFrom = $dateFrom + (60 * 60 * 24 * intval(Configuration::get('PS_ORDER_RETURN_NB_DAYS'))); $voucher->date_from = date('Y-m-d H:i:s', $dateFrom); $voucher->date_to = date('Y-m-d H:i:s', $dateFrom + 7776000); // + 3 mois $voucher->minimal = 0; $voucher->active = 1; $voucher->description[$cookie->id_lang] = Configuration::get('PS_LOYALTY_VOUCHER_DETAILS', intval($cookie->id_lang)); $voucher->save(); /* register order(s) which contribute to create this voucher */ LoyaltyModule::registerDiscount($voucher); $voucher = new Discount(); $voucher->id_customer = $user['id_customer']; $voucher->id_discount_type = Configuration::get('BIRTHDAY_DISCOUNT_TYPE'); $voucher->name = 'birthday'; $voucher->description[Configuration::get('PS_LANG_DEFAULT')] = $this->l('Your birthday present !'); $voucher->value = Configuration::get('BIRTHDAY_DISCOUNT_VALUE'); $voucher->quantity = 1; $voucher->quantity_per_user = 1; $voucher->cumulable = 1; $voucher->cumulable_reduction = 1; $voucher->date_from = date('Y-m-d H:i:s', $dateFrom); $voucher->date_to = date('Y-m-d H:i:s', $dateFrom + 7776000); // + 3 mois $voucher->minimal = Configuration::get('BIRTHDAY_MINIMAL_ORDER'); $voucher->active = true; if ($voucher->add()) Mail::Send(intval(Configuration::get('PS_LANG_DEFAULT')), 'birthday', $this->l('Happy birthday!'), array('{firstname}' => $user['firstname'], '{lastname}' => $user['lastname']), $user['email'], NULL, strval(Configuration::get('PS_SHOP_EMAIL')), strval(Configuration::get('PS_SHOP_NAME')), NULL, NULL, dirname(__FILE__).'/mails/');Merci pour votre aide Link to comment Share on other sites More sharing options...
Maxxean Posted September 26, 2010 Author Share Posted September 26, 2010 BonjourJe suis désolé je ne sais pas pourquoi mon texte est arrivé tel queCordialement Link to comment Share on other sites More sharing options...
Maxxean Posted September 26, 2010 Author Share Posted September 26, 2010 BonjourToujours pas résolu mon problème.Je veux configurer 2 modules de la même manière, c’est à dire validité de 2 ou 3 mois à partir du jour de la commande ou du jour de l’anniversaire.Le module loyalty-program.php (bon de fidélité, commande) fonctionne comme je le souhaite.Par contre avec le même code date_from et date_to le module birthdaypresent.php me donne la bonne validité mais à partir du 01/01/1970, je ne sais pas ce que je dois changer ?Ci joint copie des 2 modulesloyalty /* voucher creation and add to customer */ $voucher = new Discount(); $voucher->name = $voucherCode; $voucher->id_discount_type = 2; // Discount on order (amount) $voucher->id_customer = intval($cookie->id_customer); $voucher->value = LoyaltyModule::getVoucherValue($customerPoints); $voucher->quantity = 1; $voucher->quantity_per_user = 1; $voucher->cumulable = 1; $voucher->cumulable_reduction = 1; $dateFrom = time(); if (Configuration::get('PS_ORDER_RETURN')) $dateFrom = $dateFrom + (60 * 60 * 24 * intval(Configuration::get('PS_ORDER_RETURN_NB_DAYS'))); $voucher->date_from = date('Y-m-d H:i:s', $dateFrom); $voucher->date_to = date('Y-m-d H:i:s', $dateFrom + 7776000); // + 3 mois $voucher->minimal = 0; $voucher->active = 1; $voucher->description[$cookie->id_lang] = Configuration::get('PS_LOYALTY_VOUCHER_DETAILS', intval($cookie->id_lang)); $voucher->save(); /* register order(s) which contribute to create this voucher */ LoyaltyModule::registerDiscount($voucher); Tools::redirect('modules/loyalty/loyalty-program.php'); module birthdaypresent.php $voucher = new Discount(); $voucher->id_customer = $user['id_customer']; $voucher->id_discount_type = Configuration::get('BIRTHDAY_DISCOUNT_TYPE'); $voucher->name = 'birthday'; $voucher->description[Configuration::get('PS_LANG_DEFAULT')] = $this->l('Your birthday present !'); $voucher->value = Configuration::get('BIRTHDAY_DISCOUNT_VALUE'); $voucher->quantity = 1; $voucher->quantity_per_user = 1; $voucher->cumulable = 1; $voucher->cumulable_reduction = 1; $voucher->date_from = date('Y-m-d H:i:s', $dateFrom); $voucher->date_to = date('Y-m-d H:i:s', $dateFrom + 7776000); // + 3 mois $voucher->minimal = Configuration::get('BIRTHDAY_MINIMAL_ORDER'); $voucher->active = true; if ($voucher->add()) Mail::Send(intval(Configuration::get('PS_LANG_DEFAULT')), 'birthday', $this->l('Happy birthday!'), array('{firstname}' => $user['firstname'], '{lastname}' => $user['lastname']), $user['email'], NULL, strval(Configuration::get('PS_SHOP_EMAIL')), strval(Configuration::get('PS_SHOP_NAME')), NULL, NULL, dirname(__FILE__).'/mails/'); Merci pour vos réponses Link to comment Share on other sites More sharing options...
NovaInt Posted September 27, 2010 Share Posted September 27, 2010 Ce module m'a l'air de fonctionner que sur les clients ayant déjà passés commande, ça ne semble pas marcher pour des clients déjà inscrits mais n'ayant pas commandé. Quelqu'un a-t'il une piste pour faire fonctionner ce module à tous les clients inscrits (et non que les clients ayant commandés)? Link to comment Share on other sites More sharing options...
Maxxean Posted October 22, 2010 Author Share Posted October 22, 2010 Voila pour ramener la validité du bon d'anniversaire de 1 an à 2 mois, j'ai remplacé ces 2 lignes de code $voucher->date_from = date('y-m-d'); $voucher->date_to = (date('y')+1).date('-m-d'); par ces 3 lignes $dateFrom = time(); $voucher->date_from = date('Y-m-d H:i:s', $dateFrom); $voucher->date_to = date('Y-m-d H:i:s', $dateFrom + 5184000); // + 2 mois maintenant ça fonctionne 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