コスト計算スクリプトを作成しましたが、これをDrupal 7サイトで使用します。
drupal_add_js
、しかし、私はどんな文脈で知りません。
Template.phpファイルで関数を使用します:_yoursite.com/sites/all/themes/YOUR_THEME/template.php
_
ブロックにJSファイルを追加します。
_function YOUR_THEME_preprocess_block(&$variables) {
drupal_add_js(drupal_get_path('theme', 'MYTHEME') .'/scripts/path');
}
_
JSファイルをoneページまたはノードに追加します:
_function YOUR_THEME_preprocess_page(&$variables) {
if ($variables['nid'] == 'INSERT_NODE_ID') {
drupal_add_js(drupal_get_path('theme', 'MYTHEME') .'/scripts/path');
}
}
_
JSファイルをコンテンツタイプに追加します。
_function YOUR_THEME_preprocess_node(&$variables) {
if ($variables['type'] == 'INSERT_CONTENT_TYPE') {
drupal_add_js(drupal_get_path('theme', 'MYTHEME') . '/scripts/path');
}
}
_
JSファイルをビューに追加します。
_function YOUR_THEME_preprocess_views_view(&$variables){
if ($variables['name'] == 'INSERT_VIEW_MACHINE_NAME') {
// include javascript
drupal_add_js(drupal_get_path('theme', 'MYTHEME') . '/scripts/path');
}
}
_
@Pierpaolo Ciraで述べたように、_MY_THEME
_は常に_MY_MOUDLE
_で置き換えることができます。モジュールへのパスを取得するには、drupal_get_path('module', 'my_module')
を使用する必要があります。
注:_MY_THEME
_および_MY_MODULE
_は、モジュールまたはテーマ名が小文字の場合、小文字にする必要があります。 (例:_MY_THEME
_は、禅の場合はzen
に置き換えられます)
Js モジュール内を追加できます:
モジュールを作成し、mymodule.module内に配置します
drupal_add_js(drupal_get_path('module', 'mymodule') . '/mymodule.js');
またはテーマ内:
.infoファイル内
name = My theme
description = Theme developed by me.
core = 7.x
engine = phptemplate
scripts[] = mytheme.js
またはpreprocess_page関数内
function mytheme_preprocess_page(&$vars, $hook) {
if (true) {
drupal_add_js(drupal_get_path('theme', 'mytheme') . '/mytheme.js');
$vars['scripts'] = drupal_get_js(); // necessary in D7?
}
}
Template.phpの関数を使用する
ブロックにJSファイルを追加:
function MYTHEME_preprocess_block(&$variables) {
drupal_add_js(drupal_get_path('theme', 'MYTHEME') .'/mytheme.js', 'file');
}
ページまたはノードにJSファイルを追加します。
function MYTHEME_preprocess_page(&$variables) {
drupal_add_js(drupal_get_path('theme', 'MYTHEME') .'/mytheme.js', 'file');
}
より良いアプローチは、Drupalからパスを取得することであり、フォーム関数にコードを配置する必要があります。
function mymodule_form($form, &$form_state) {
... some of your forms goes here
$form['#attached']['js'][] = drupal_get_path('module', 'mymodule') . '/myscript.js';
return $form;
また、以下のコードの間にJavaScriptを追加してください
(function($) {
function mymodule_function(context) {
// from here
// paste your code in here
// till here
}
Drupal.behaviors.custommodule = {
attach: function(context) {
mymodule_function(context);
}
}
})(jQuery);