Comment avoir accès aune variable déclarée au niveau du HtmlResponse dans la section doAfteraction(), et n'importe où dans son application jelix ?

10 views
Skip to first unread message

obv

unread,
Oct 13, 2016, 11:03:59 PM10/13/16
to jelix-fr
Bonjour, à tous

[Mon objectif :]

Avoir accès à une variable déclaré une seul fois n'importe où dans l'application .

[Problème :]

Comment avoir accès  aune variable déclarée au niveau du HtmlResponse dans la section doAfteraction(), et n'importe où dans son application jelix ?

[Code :]

protected function doAfterActions() {

$t= explode(":",jApp::coord()->actionName);//Permet de récupérer dans $t[0] le nom du controlleur
$ma = ['module'=>jApp::coord()->moduleName,'action'=>jApp::coord()->actionName,'ctrl'=>$t[0]];

$this->body->assign('ma',$ma);

$this->body->assignIfNone('MAIN','<p>no content</p>');
}

[PS:]

J'y ai accès au niveau du main, mais pas au-delà .
 
Merci .

Laurent Jouanneau

unread,
Oct 17, 2016, 4:01:30 AM10/17/16
to jeli...@googlegroups.com
Bonjour,

de quel type de variable parles-tu ? variable php ? variable de template ?

Que cherches-tu à faire précisément ?

Le 14/10/2016 à 05:03, obv a écrit :
> Bonjour, à tous
>
> [Mon objectif :]
>
> Avoir accès à une variable déclaré une seul fois n'importe où dans
> l'application .
>
> [Problème :]
>
> Comment avoir accès aune variable déclarée au niveau du *HtmlResponse*
> dans la section *doAfteraction()*, et n'importe où dans son application
> jelix ?
>
> [Code :]
>
> protected function doAfterActions() {
>
> $t= explode(":",jApp::coord()->actionName);//Permet de récupérer dans
> $t[0] le nom du controlleur
> $ma =
> ['module'=>jApp::coord()->moduleName,'action'=>jApp::coord()->actionName,'ctrl'=>$t[0]];
>
> $this->body->assign('ma',$ma);
>
> $this->body->assignIfNone('MAIN','<p>no content</p>');
> }
>
>
> [PS:]
>
> J'y ai accès au niveau du main, mais pas au-delà .
>
> Merci .
>
> --
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "jelix-fr".
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> jelix-fr+u...@googlegroups.com
> <mailto:jelix-fr+u...@googlegroups.com>.
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.

obv

unread,
Oct 30, 2016, 10:08:18 AM10/30/16
to jelix-fr
accès à une variable PHP !

J'aimerais avoir accès à ma variable " $ma " dans le quel je renseigne  un tableau contenant le module et le contrôleur en cours et donc que je peux récupéré pour faire ce que je veux comme contrôle après dans mon Template . 

Cdlt.

Toky Rabeson

unread,
Oct 30, 2016, 11:47:48 PM10/30/16
to jeli...@googlegroups.com
Hello obv :)

Tu as assigné ta variable dans le template principale :
$this->body->assign('ma',$ma);
Normale si tu ne l'as que dans MAIN

Solutions :
Dans HtmlResponse, 
  1. Tu te crées des attributs module et action
  2. Tu l'instance depuis le constructeur de ce même response
  3. Depuis chaque contrôleur, tu l'assignes à chaque template ou tu en a besoin
Les autres,
  • N'y a t il pas moyen plus simple de récupérer module et contrôleur en cours dans jelix sans passer par tout son artifice ?
Merci à tous

 

Hery Andriatoky RABESON
Directeur de projet web
Ingénieur en Informatique
Développeur Web
CV : http://toky-rabeson.netcv.com
Yahoo : t.ra...@yahoo.fr
Skype : t.rabeson
Deraina Jesosy ...

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse jelix-fr+unsubscribe@googlegroups.com.

Nesswaw

unread,
Oct 31, 2016, 1:36:10 PM10/31/16
to jeli...@googlegroups.com
Bonjour,


$gJCoord permet de récupérer les infos de la requête en cours.

obv

unread,
Oct 31, 2016, 6:14:17 PM10/31/16
to jelix-fr
Bonsoir,

C'est justement le faite d'avoir à écrire le même code à chaque fois que je voulais évité .
Mais bon !

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse jelix-fr+u...@googlegroups.com.

obv

unread,
Oct 31, 2016, 6:15:22 PM10/31/16
to jelix-fr
Oui en effet !
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse jelix-fr+u...@googlegroups.com.

Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "jelix-fr".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse jelix-fr+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages