Главная » Drupal » Статьи Drupal » Drupal 7: JavaScript, как подключить для типа материала. Препроцесс на ноду.
Распечатать статью

Drupal 7: JavaScript, как подключить для типа материала. Препроцесс на ноду.

Итак, подключение JavaScript к Drupal 7 только на страницах определённого типа материала можно осуществить, выставив препроцесс на ноду. Просто пропишите в файле «template.php» (тот, что в папке вашей активной темы) нижеследующий код, к примеру:

<?php
function ИмяТемы_preprocess_node(&$variables) {
  $my_node_type = $variables['node']->type;  // получим тип ноды

  if ($my_node_type == 'машинное_имя_типа_материала') {
    // В виде файла в папке темы	
    drupal_add_js(drupal_get_path('theme', 'имя_темы') .'/js/jquery-1.4.3.min.js', 'file'); 
}
?>

Теперь добавим JavaScript только для ноды с идентификатором (ID) равным двойке (но не проще ли блоком в нужном регионе?):

<?php
function ИмяТемы_preprocess_node(&$variables) {
  if (arg(1) == '2') {
    // В виде файла в папке темы	
    drupal_add_js(drupal_get_path('theme', 'имя_темы') .'/js/jquery-1.4.3.min.js', 'file'); 
}
?>

Функция drupal_get_path(‘theme’, ‘имя_темы’) с такими параметрами вызова вернет путь до вашего «друпаловского» шаблона.

Помимо вышеописанного возможны ещё несколько параметров вызова drupal_add_js.

Второй вариант использования: я буду загружать с удаленного сервера, «внешний» скрипт:

<?php 
// с серверов Google
drupal_add_js('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js', 'file');
?>

Третий вариант: код будет прямо на странице. Но я этот метод не использую, — не нравится мне, потому что путаница может получиться.

<?php 
drupal_add_js('jQuery(document).ready(function () { alert("Так не стоит делать!"); });', 'inline');
?>

Четвертый вариант, с передачей параметров глобального хранения я ещё ни разу не применял — так, что не могу пока написать об этом ничего определённого кроме как цитаты с Drupal APi:

<?php
drupal_add_js(array('мой_модуль' => array('ключ' => 'значение')), 'setting');
?>

В конце этой статьи добавлю лишь 1 маленькое замечание. Более «глобально» (для всей темы сразу) подключить JavaScript к Drupal 6-7 можно, пользуясь правкой INFO-файла.

Источник:  sooource.net

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи