回答:
Drupalでこれを行う標準的な方法は、「設定」タイプを使用してdrupal_add_jsを使用することです。
drupal_add_js(array('variableName' => 'value'), 'setting');
これにより、JS側でDrupal.settings.variableNameで変数を使用できるようになります。
いくつかのより多くの例drupal_add_js、
問題を回避するには、JS変数を追加するときにモジュール名を指定することをお勧めします。
drupal_add_js(array('myModule' => array('key' => 'value')), 'setting');
DOMの初期化後にJSコードを実行したい場合は、
drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', 'inline');
また、#attached
フォームのキーを使用して、php変数をjsに送信できます。
$my_variable = 'My custom value';
$form['some-element']['#attached']['js'] = array(
array(
'data' => drupal_get_path('module', 'my_module') . '/js/script.js',
),
array(
'data' => array(
'variable' => $my_variable,
),
'type' => 'setting',
),
);
これはhook_form_alter
、たとえばで使用できます。
最も簡単な方法は、それをスクリプトタグにエコー出力することです。
<script type="text/javascript">
var variableName = <?php echo $variable ?>;
</script>
Drupalがテンプレート言語を使用している場合は、を関連する<?php echo... ?>
出力メソッドに置き換える必要があります...