Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] déclencher un événement et recharger

Posted by lipki on 03/06/2008 23:04

Je ne trouve pas de solution simple a mon problème et ça m'étonne.

voila ce que je voudrais.

Clic sur voir produit A

  • 'produits~voir', array('produit'=>'A') [action initial]

Clic sur ajouter au panier

  • ajoute le produit au panier (via un plugin panier)
  • puis redirige vers [action initial]

Clic sur Condition général de vente (par exemple)

  • 'main~voir', array('page'=>'cdg') [new action initial]

Clic sur enlever du panier

  • enleve le produit du panier (via un plugin panier)
  • puis redirige vers [new action initial]

Au moment de la redirection, je ne sait rien de l'action précédente, et de ces paramètres, et t-il possible de récupérer ces infos ?

Si je ne trouve pas de solution native, je pense mémorisé la liste des actions et leurs paramètres dans la classe panier, sous forme d'historique.

Ou bien de créer un plugin historique.

edit : ou bien encore d'étendre jController pour ajouter la méthode recharge, et me servir de ce nouveau contrôleur pour tous mes modules.
rechargeLastActionAndParametres () lol

  [Opened] Re: déclencher un événement et recharger

Reply #1 Posted by laurentj on 03/07/2008 11:46

Une solution serait de récupérer le referer dans $_SERVER. Tu connais ainsi l'url. Par contre tu ne sais pas forcément l'action.

  [Opened] Re: déclencher un événement et recharger

Reply #2 Posted by lipki on 03/07/2008 11:55

Donc rien de natif, peut-être que je proposerais quelque choses.

Le plugin historique me parait pas mal.

  [Opened] Re: déclencher un événement et recharger

Reply #3 Posted by Dubphil on 03/09/2008 16:24

moi je fais comme ça :

dans ma page par défaut :

        $_SESSION['ACTIONS'] = array();
        $_SESSION['PARAMS'] = array();

et dans chacune des actions que je veux historiser :

    array_push($_SESSION['ACTIONS'],$GLOBALS['gJCoord']->action->toString());
 array_push($_SESSION['PARAMS'], $this->params());

et j'ai une action back qui contient ça :

    function back(){
        $rep = $this->getResponse('redirectUrl');
        array_pop($_SESSION['ACTIONS']);
        array_pop($_SESSION['PARAMS']);
        $url_return = jUrl::get(end($_SESSION['ACTIONS']), end($_SESSION['PARAMS']));
        array_pop($_SESSION['ACTIONS']);
        array_pop($_SESSION['PARAMS']);
        $rep->url = $url_return;
        return $rep;
    }

et le tour est joué ;)

  [Opened] Re: déclencher un événement et recharger

Reply #4 Posted by lipki on 03/10/2008 10:28

ok c'est très bien ça :).

 
Page
  1. Re: déclencher un événement et recharger