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

  [Opened] jSelector

Posted by lipki on 03/07/2008 10:57

Je me demande si l'on peut utiliser jSelector pour récupérer des instances de contrôleur, ou exécuter des actions directement dans le code, exemple :

 // exécute la fonction add du contrôleur default du module panier.
 $panierAdd = jSelector::exec('panier~add', array('idoffre',10));

 // récupère l'instance courante d'une zone
 $myzone = jSelector::get('zone:panier~myzone');

A l'origine de cette demande il ya une constatation, j'aimerais pouvoir exécuter n'importe action, de n'importe quel module, a n'importe quel moment.

Et pas limité au lien ou et au formulaire.

-------------------------------

Autre choses ...

J'ai remarqué que la réponse 'redirect' fessait réellement une redirection.

Il ne serait pas possible de réinitialiser jRequest, et donc de recommencer la création de la réponse, sans faire de véritable redirection.

  [Opened] Re: jSelector

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

jSelector::exec

Non, les selecteurs ne sont là que pour donner des informations sur un type de selecteur précis, par pour executer des choses.

Tu peux utiliser jSelectorAct pour récupérer un selecteur d'une action. Il manque ensuite une méthode dans le coordinateur pour lancer une nouvelle action. Ce qui est un peu compliqué car cela implique de changer pas mal de choses, de modifier des trucs dans l'environnement jelix etc..

Pas sûr que ce soit très simple. on a déjà des soucis quand il s'agit de plugins qui change l'action, on ne peut pas tout faire. Y avait une discussion à ce sujet je crois dans le forum ou un ticket (à moins que ce soit sur IRC, je ne me rappel plus)

J'ai remarqué que la réponse 'redirect' fessait réellement une redirection.

C'est volontaire. D'une part parce que jResponse, ça represente vraiment une réponse à un navigateur, et d'autre part faire une vrai redirection, ça évite les problèmes quand on fait un reload dans le navigateur (aprés une action d'enregistrement par exemple)

Il ne serait pas possible de réinitialiser jRequest, et donc de recommencer la création de la réponse, sans faire de véritable redirection.

Si l'action en question est dans le même controlleur, tu appelle directement la méthode :-p. Mais le problème là encore c'est qu'il faut faire attention de bien déclarer les paramètres et tout le toutim.

  [Opened] Re: jSelector

Reply #2 Posted by lipki on 03/07/2008 12:05

Ce qui est un peu compliqué car cela implique de changer pas mal de choses, de modifier des trucs dans l'environnement jelix etc..

Je comprend bien. Je vais mieux étudier l'existant pour trouver des solutions.

 
Page
  1. jSelector