Zestiria Posted January 25, 2017 Share Posted January 25, 2017 Bonjour ces mon 1er topic donc jver essayer d'être simple dans mon explication ^^ Alors je crée mon 1er module préstashop qui a pour but de faire apparaitre une pré homepage à l'utilisateur si il a pas le cookie, ce dernier ce crée quant l'utilisateur viens pour la 1er fois sur le site quant la pré homepage s'affiche. jusque la pas de soucie mais je voudrais rendre la durée de vie de mon cookie configurable par le client qui possèdes le module mais j'ai essayer plusieurs manière Configuration::get('VALEUR_COOKIE') en gros sa donne sa dans mon controller pour la création du cookie : class InsnewvisitorNewsvisitorModuleFrontController extends ModuleFrontController { public $date_cookie; public function initContent() { parent::initContent(); $this->createUserCookie(); $this->date_cookie = Configuration::get('DATE_VALEUR_COOKIE'); } public function createUserCookie() //crée le cookie lors de sont appel dans le controller { if (!isset($_COOKIE['user'])) { $this->date_cookie = Configuration::get('DATE_VALEUR_COOKIE'); $cookie_name = "user"; $cookie_value = "site visité"; setcookie($cookie_name, $cookie_value, time() + (86400 * Configuration::get('DATE_VALEUR_COOKIE')), "/"); // 86400 = 1 jour return true; } else if(empty($_COOKIE['user'])){ return false; } else{ return true; } } } et voila mon formulaire de config : public function _displayForm() { $this->_html .= ' <form method="post" action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'"> <fieldset> <legend>'.$this->l('Paramètres').'</legend> <label>Date de vie du cookie (en jour)</label> <input type="text" name="date_Cookie" value="'.Configuration::get('DATE_VALEUR_COOKIE').'" /> <label>Titre du block centrale de la pré-Homepage</label> <input type="text" name="title_Block_Center" value="'.Configuration::get('TITLE_BLOCK_CENTER').'" /> <label>Text du block centrale de la pré-Homepage</label> <input type="text" name="text_Block_Center" value="'.Configuration::get('TEXT_BLOCK_CENTER').'" /> <input type="submit" name="para_Insnewvisitor" value="'.$this->l('Sauvegarder').'" class="button submit" /> </fieldset> </form>'; return $this->_html; } et la function option update pour les mettre a jour dans la DB : public function getContent() { if (Tools::isSubmit('para_insnewvisitor')) $this->updateOption(); return $this->_displayForm(); } private function updateOption() { $date_Cookie = Tools::getValue('date_Cookie'); Configuration::updateValue('DATE_VALEUR_COOKIE', $date_Cookie); $title_Block_Center = Tools::getValue('title_Block_Center'); Configuration::updateValue('TITLE_BLOCK_CENTER', $title_Block_Center); $text_Block_Center = Tools::getValue('text_Block_Center'); Configuration::updateValue('TEXT_BLOCK_CENTER', $text_Block_Center); } du coup mon soucie ces que dans la création de mon cookie quant je mes la valeur en dure sa fonctionne mais en l'appelant comme je les fait sa fonctionne pas alors si vous pouviez m’aiguillez sur mes erreur et bonne pratique a prendre sa serrais cool Link to comment Share on other sites More sharing options...
Zestiria Posted January 25, 2017 Author Share Posted January 25, 2017 ah bah ces bon j'ai trouvé la solution ^^ un caractère mal écris ^^' 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