CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 26-11-2015 12:04:42

Mokette
Eclair café
Date d'inscription: 26-06-2012
Messages: 48

Accès au define du bootstrap

Bonjour,

j'aurais une petite question d'utilisation de cakephp.
Dans mon application, je me sert d'un defin dans mon bootstrap.php, un petit

Code: php

  1. define('ma_constante', 'voilà_ma_variable');

je cherche un moyen d'accèder a ce define depuis un fichier js présent dans webroot/js, je me posais la question de savoir si c'était possible ou pas ? pour le moment à chaque fois j'ai un 'ma_constante' is not defined dans la console de mon navigateur quand j'essai d'accèder à mon fichier js.

Auriez-vous une petite solution, ou ce n'est pas possible d'accèder à cette constante depuis un fichier js présent dans le webroot/js ?

Cordialement,

Mokette.

j'utilise cakephp v2.4.4

Dernière modification par Mokette (30-11-2015 09:38:22)


If someone ask, i'm not here !! ^^

GnomeBusters  ||  Invictus-Fortes

Hors ligne

 

#2 27-11-2015 17:18:39

Nic0[]
Brownie
Date d'inscription: 07-11-2015
Messages: 28

Re: Accès au define du bootstrap

Bonsoir,

je ne sais pas si c'est la bonne solution mais je fais comme cela:

bootstrap.php

Code: php

  1. Configure::write('Nom_du_site', 'Mon site');

pour récupérer la valeur:

Code: php

  1. <?php echo Configure::read('Nom_du_site') ; ?>

Cordialement

Hors ligne

 

#3 30-11-2015 09:38:06

Mokette
Eclair café
Date d'inscription: 26-06-2012
Messages: 48

Re: Accès au define du bootstrap

Bonjour,

Merci de la réponse, je vais tester ça mais je ne suis pas sur que cela va fonctionner, le

Code: php

  1. define('ma_constante', 'voilà_ma_variable');

que je fais dans le bootstrap.php

j'essaye d'y accéder dans un fichier js pur, du coup je ne suis pas sur que l'appel en php fonctionne depuis le fichier js ^^

Cordialement,

Mokette


If someone ask, i'm not here !! ^^

GnomeBusters  ||  Invictus-Fortes

Hors ligne

 

#4 01-12-2015 11:32:54

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: Accès au define du bootstrap

Salut,
que veux-tu dire par accéder à la constante dans le fichier JS ? tu veux dire que tu cherches à récupérer la constante en javascript ?


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#5 01-12-2015 11:36:43

Mokette
Eclair café
Date d'inscription: 26-06-2012
Messages: 48

Re: Accès au define du bootstrap

Bonjour,

oui voilà c'est ça je veux récupérer la constante en js smile
(pardon si je n'avais pas été assez clair dans mes précédents posts :s)

Cordialement,

Mokette


If someone ask, i'm not here !! ^^

GnomeBusters  ||  Invictus-Fortes

Hors ligne

 

#6 01-12-2015 13:06:34

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: Accès au define du bootstrap

ah mais, comme ça en direct, ce n'est pas possible, la solution de Nico est correcte, mais tu dois transformer la variable PHP en variable JS, il te faut donc utiliser une rustine de ce genre :

Code: php

  1. <script>
  2. var ma_variable = "<?= Configure::read('Nom_du_site')?> ";
  3. </script>

Mais ce code doit obligatoirement être dans une vue .ctp, car seules les vues .ctp sont traitées en PHP, si tu utilises ça dans un .js ca ne fonctionnera pas, et ca ne fonctionnera jamais. PHP est interprété côté serveur, JS est interprété côté client.


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#7 01-12-2015 13:26:26

Mokette
Eclair café
Date d'inscription: 26-06-2012
Messages: 48

Re: Accès au define du bootstrap

Oki d'accord merci smile
bien ce qui me semblait j'ai aucun moyen d'y accéder en direct depuis un fichier js, c'est dommage :s

j'ai utilisé une autre rustine en attendant ^^

Code: php

  1. <div id="ma_variable" hidden><?php echo $ma_variable; ?></div>

et je récupère ça avec un

Code: php

  1. var ma_variableTemp = document.getElementById('ma_variable');
  2. var ma_variable = ma_variableTemp.innerHTML;

pas très joli non plus ^^

et si j'utilise la rustine de Nico

Code: php

  1.    <script>
  2.     var ma_variable = "<?= Configure::read('Nom_du_site')?> ";
  3.     </script>

à la place de ma div dans mon .ctp, j'aurais accès à "ma_variable" depuis n'importe quel fichier js de mon appli ?

Cordialement,

Mokette

Dernière modification par Mokette (01-12-2015 13:27:06)


If someone ask, i'm not here !! ^^

GnomeBusters  ||  Invictus-Fortes

Hors ligne

 

#8 01-12-2015 14:33:16

cyberbobjr
Baker
Date d'inscription: 13-07-2010
Messages: 625

Re: Accès au define du bootstrap

Tu peux utiliser ca dans ton layout principal (sans passer par configure, si tu fait un define)

Code: php

  1. <script>
  2.     var ma_variable = "<?= $ma_variable ?> ";
  3. </script>

et du coup ma_variable sera accessible partout en JS.


Développeur freelance et disponible, contactez-moi en privé.
Mon blog CakePHP : http://caketuts.key-conseil.fr

Hors ligne

 

#9 02-12-2015 09:08:47

6120
The Big Cake
Date d'inscription: 06-11-2009
Messages: 379

Re: Accès au define du bootstrap

Quand j'ai besoin de récupérer une variable, je fais comme indiqué par cyberbobjr.
Si tu as plusieurs layouts, tu la mets dans un élément que tu inclues dans chacun.

Si j'ai besoin de récupérer plusieurs variables système ou personnelles, j'utilise un "element" auquel je passe mes variables.
Tu mets le javascript dans cet élément.
Comme ça tu peux passer facilement des variables de php à javascript.
Exemple :

Code: php

  1. <?php $my_var = Configure::read('ma_variable') ; ?>
  2. <script>
  3. var myVar = "<?= $my_var ?>";
  4.  etc ...
  5. </script>

Dernière modification par 6120 (02-12-2015 09:09:30)

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr