2010-08-09 14 views
0

Je travaille sur des fichiers de modèles smarty.Est-il possible d'extraire des valeurs en utilisant smarty, php, JQuery à partir d'une autre page? [Aucun inter-domaines]

Le noyau PHP de ce moteur de modèle est codé avec un tube ionique.

Donc, je suis pour obtenir certaines valeurs sur certaines pages seulement.

Par exemple,

-je obtenir la valeur de {$clientemail} seulement sur clientareadetails.php

sur clientprofile.php valeur de {$clientemail} est null

, est-il possible de récupérer les valeurs en utilisant smarty, php, JQuery depuis une autre page?

Toutes mes pages résident sur un seul domaine.

Toute aide sera appréciée.

Merci!

+0

Veuillez décrire plus en détail d'où '$ clientemail' vient. –

+0

@Pekka: $ clientemail est la valeur saisie par l'utilisateur – MANnDAaR

Répondre

1

Vous devez affecter toutes les variables nécessaires à Smarty depuis l'extrémité PHP. N'utilisez pas Ajax pour cela. Si $clientemail est une valeur fixe dans votre script, le mieux serait de conserver un tableau de configuration central avec toutes les valeurs dans un fichier PHP, y compris ce fichier dans chaque instance de script (include "conf.php"), et de passer ce tableau en tant que Smarty variable.

$conf = array(); 
$conf["clientemail"] = "[email protected]"; 

........... 

$Smarty = new Smarty(); // or whichever way you do it 
$Smarty->assign("conf", $conf); 

............ 

Then in the template: 
{$conf.clientemail} 

Si $clientemail est une valeur saisie par l'utilisateur, vous pouvez stocker dans $_SESSION (si vous avez une course de session) et le chercher:

In the PHP script that processes the form: 
$_SESSION["clientemail"] = ..... wherever clientemail comes from 

........... 

$Smarty = new Smarty(); // or whichever way you do it 
$Smarty->assign("clientemail", $_SESSION["clientemail"]); 

............ 

Then in the template: 
{$clientemail} 

Notez que cet exemple vous donnera des ennuis si l'utilisateur a deux ou plusieurs fenêtres ouvertes et remplit le même formulaire en même temps: $_SESSION["clientemail"] serait écrasé par chaque soumission de formulaire.

+0

Nous ne pouvons pas être plus d'accord. Faire cela via ajax est super boiteux. – rochal