Если у вас есть файл шаблона, который анализируется, где вы можете вывести переменные, присвоенные PHP-> Smarty, вы можете создать глобальную переменную JS в шаблоне, а затем использовать эту глобальную переменную в вашем JS как обычно.
Например:
Файл шаблона
<script type="text/javascript">
var MyGlobalVar = "{$MyGlobalVar}";
</script>
Файл Global.js
$(document).ready(function(){
$("button").click(function(){
if (MyGlobalVar != '') {
$("#div1").html(MyGlobalVar);
} else {
alert('Error! Error! Abort!');
}
});
});
Обратите внимание, что вы можете вывести файл Global.js с его анализом в Smarty (хотя ... это, вероятно, не очень хорошая идея) и таким образом внедрить ваши переменные PHP-> Smarty.Это будет рассматривать включенный файл Global.js как шаблон Smarty.
Для этого вам нужно будет использовать {literal}
, возможно, назовите файл с окончанием файла .php (чтобы он был PHP-разборный), и добавьте PHP header()
вызовите, чтобы PHP выводил содержимое файла в браузер как тип содержимого Javascript.
Global.js
<?php
header("content-type: text/javascript");
?>
var MyGlobalVar = "{$MyGlobalVar}";
{literal}
$(document).ready(function(){
$("button").click(function(){
if (MyGlobalVar != '') {
$("#div1").html(MyGlobalVar);
} else {
alert('Error! Error! Abort!');
}
});
});
{/literal}
Кроме того, на стороне PHP выВозможно, вы захотите добавить косую черту в вашу переменную, особенно если переменная JS будет содержать HTML или другие фрагменты текста, которые будут использовать одинарные / двойные кавычки.