- 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