Создание Модуля Для Drupal 7. Часть 2



Предисловие В первая часть Я показал, как создать модуль для Drupal 7. И как обещал, сейчас покажу, как добавлять в модули js-файлы (используйте в них jQuery) и как их локализовать.



Добавление js-файлов

Для начала создадим любой js-файл в папке с модулем.

Я звонил ему main.js .

Далее добавляем в файл rss_feeds.info линия: скрипты[] = main.js Я использовал jQuery в своем модуле.

В main.js Я реализую функции для кнопки «Вверх».

Чтобы избежать конфликтов, необходимо написать следующее:

  
  
   

(function ($) { })(jQuery);

И в этой конструкции пишем код:

$.

fn.extend({ topMouseover: function(self) { this.on('mouseover',function() { self.opacity.stop().

animate({opacity:"1"},300); self.button.stop().

animate({opacity:"1"},300); }); }, topMouseout: function(self) { this.on('mouseout',function() { self.opacity.stop().

animate({opacity:"0"},300); self.button.stop().

animate({opacity:"0.4"},300); }); }, wScroll: function(g) { if(g == 0) this.removeClass("no-count"); if(!this.hasClass("no-count")){ if(g > 500 && this.is(":hidden")){ this.addClass("visible"); this.css("cursor","pointer"); this.fadeIn(500); this.click(function(){ $("body, html").

animate({scrollTop:0},600); this.fadeOut(300); this.addClass("no-count"); }); } if(g < 200 && this.hasClass("visible")){ this.removeClass("visible"); this.fadeOut(300); } }else{ this.unbind("click"); } } }); function toTopBtn(toTop, opacity, btn) { this.toTopBtn = $(toTop); this.opacity = $(opacity); this.button = $(btn); this.windowScroll(); this._init(); return this; } toTopBtn.prototype = { _init: function () { var self = this; this.toTopBtn.topMouseover(self); this.toTopBtn.topMouseout(self); }, windowScroll: function() { var g = $(window).

scrollTop(); this.toTopBtn.wScroll(g); } } $(document).

ready(function() { upButton = new toTopBtn(".

toTopWrapper",".

toTopOpacity",".

toTopBtn"); $(window).

scroll(function(){ upButton.windowScroll(); }); });

Но по умолчанию в Drupal 7 это происходит jQuery 1.4.4 .

Функция .

на() оно не реализовано.

Чтобы обновить jQuery, скачайте модуль Обновление запроса .

Все в нем интуитивно понятно.

В настройках выберите нужную версию (я выбрал 1.8).

Для того, чтобы кнопка отображалась, меняем файл rssfeeds_content.tpl.php :

<div class="toTopWrapper">

Теги: #drupal 7 #CMS #модули #веб-разработка #CMS #drupal

Вместе с данным постом часто просматривают: