- 1
[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
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
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
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
Posted by lipki on 03/10/2008 10:28
ok c'est très bien ça :).
- 1


