Передача переменных из PHP в JS!
Здравствуйте, подскажите, пожалуйста, как в MODX можна передать переменную из PHP в JavaScript.
Таким вот образом
var sessionId = "<?php echo $session; ?>";
вроде не получается!
Спасибо!
Таким вот образом
var sessionId = "<?php echo $session; ?>";
вроде не получается!
Спасибо!
Комментарии: 5
Где-нибудь в сниппете:
<script>
window.variableName = "<?php echo $variableName; ?>";
</script>
ПОСЛЕ вызова сниппета (инлайновый скрипт либо из подключенного файла):console.log(variableName);
Для регистрации скриптов на фронтенд из php есть специальные функции regClientScript и regClientStartupScript.
Твоя задача решается так:
После загрузки страницы ты увидишь это в ее исходном коде, только вместо $session будет реальное значение.
Твоя задача решается так:
$modx->regClientStartupScript('
<script type="text/javascript">
var sessionId = "'.$session.'";
</script>
', true);
После загрузки страницы ты увидишь это в ее исходном коде, только вместо $session будет реальное значение.
Спасибо большое за подсказку — работает, только в js дальше идёт большой кусок кода, с функциями разными и т.д. после чего страница выдает ошибки. Может ли это быть связано с экранированием кавычек?
Да, конечно.
Вот сниппет в котором вызов js кода… работает только первые 3 строчки javascriptа (проверял через alert — выводит переменные, которые формируются в php), но дальше не работает. Может я экранирование неправильно сделал? подскажите пожалуйста!
<?php
require_once MODX_CORE_PATH. 'SDK/OpenTokSDK.php';
require_once MODX_CORE_PATH. 'SDK/OpenTokArchive.php';
require_once MODX_CORE_PATH. 'SDK/OpenTokSession.php';
$apiObj = new OpenTokSDK( API_Config::API_KEY, API_Config::API_SECRET );
$session = $apiObj->createSession( $_SERVER[«REMOTE_ADDR»] );
$sessionId = $session->getSessionId();
$token = $apiObj->generateToken($sessionId);
$modx->regClientStartupScript('
<?php
require_once MODX_CORE_PATH. 'SDK/OpenTokSDK.php';
require_once MODX_CORE_PATH. 'SDK/OpenTokArchive.php';
require_once MODX_CORE_PATH. 'SDK/OpenTokSession.php';
$apiObj = new OpenTokSDK( API_Config::API_KEY, API_Config::API_SECRET );
$session = $apiObj->createSession( $_SERVER[«REMOTE_ADDR»] );
$sessionId = $session->getSessionId();
$token = $apiObj->generateToken($sessionId);
$modx->regClientStartupScript('
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.