Я пытаюсь создать наложение при загрузке страницы, используя Drupal 7 & Colorbox, и я в тупике. Мои навыки в JS / JQuery довольно слабые, и я преодолел барьер. Я создал блок в представлениях и перенес его на свою домашнюю страницу.
Я добавил класс .colorbox вручную в свой файл tpl.php, который позволяет добавлять остальные определенные классы colorbox.
вот код для моего блока:
<section id="block-views-hp-overlay-hp-overlay-block" class="block block-views colorbox init-colorbox-processed-processed cboxElement" style="display:none;">
вот мой Drupalized файл jQuery:
/* overlay */
(function ($) {
Drupal.behaviors.initColorboxHP = {
attach: function (context, settings) {
if (!$.isFunction($.colorbox)) {
return;
}
$('#block-views-hp-overlay-hp-overlay-block', context)
.filter('.colorbox')
.once('init-colorbox-processed')
.colorbox({inline:true,href:"#block-views-hp-overlay-hp-overlay-block",innerWidth:"600px", innerHeight:"600px"});
}
};
{
$(document).bind('cbox_complete', function () {
Drupal.attachBehaviors('#cboxLoadedContent');
});
}
})(jQuery);
Я ожидал, что блок будет скрыт с помощью встроенного определения стиля. Тогда мой colorbox / jquery поднял бы его и показал в хорошем наложении. Похоже, что обработчик событий не вызывается, но я не уверен, что делать дальше, поэтому любые рекомендации будут высоко оценены. Я вижу, что некоторые другие люди получили эту работу в не-Drupal контекстах, но мне трудно воссоздать.
Я использовал эти ресурсы, чтобы зайти так далеко ...
http://drupal.org/node/863858
http://jacklmoore.com/colorbox/faq/#faq-cookie