Jump to content

utilisation des donnée stocké en BD sur un controlleur


Recommended Posts

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

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