Вы должны присвоить Smarty все необходимые переменные с конца PHP. Не используйте Ajax для этого.
Если $clientemail
является фиксированным значением в вашем сценарии, лучшим способом будет сохранить массив центральной конфигурации со всеми значениями в файле PHP, включая этот файл в каждом экземпляре сценария (include "conf.php"
), и передавать массив как переменная Smarty.
$conf = array();
$conf["clientemail"] = "xyz@domain.com";
...........
$Smarty = new Smarty(); // or whichever way you do it
$Smarty->assign("conf", $conf);
............
Then in the template:
{$conf.clientemail}
Если $clientemail
является введенным пользователем значением, вы можете сохранить его в $_SESSION
(если у вас запущен сеанс) и получить его:
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}
Обратите внимание, что в этом примере возникнут проблемы, если у пользователя открыто два или более окон, и он заполняет одну и ту же форму одновременно: $_SESSION["clientemail"]
будет перезаписываться при каждой отправке формы.