Kategória:
snipet
Ez a kis kód segít abban, hogy a blokkba helyezett calendar nézet miatt ne kelljen mindig újra újratölteni az oldalt, ha a naptárban lapoz valaki. A kód akkor fog működni ha nem az eredeti calendar modul által létrehozott nézetet használod (amúgy sem módosítunk bele modul által létrehozott nézetbe), hanem klónozod my_calendar néven, majd az eredetit letiltod.
sajat.js file-ba írandó, majd a sminkben hozzáadandó, lusták a page.tpl.php-be is beszúrhatják.
$(document).ready(function() {
$.ajaxSetup ({cache: false});
// Display animated loading gif during the load event. Change the "path-to-loader-pic" text to a real path to the ajax-loader.pic
var loading = "";
function nextLoad(){
// Get the nextURL from the pagers next link
var nextUrl = $(".view-display-id-calendar_block_1 .date-next a")[0].href;
// Identify the content/container you wish to replace
$(".view-display-id-calendar_block_1")
// Add the loading image
.html(loading)
.css({ opacity: 0 }).fadeTo("normal",1)
// Load the nextUrl + return the specific content by specifing the css class or id + bind the click function tp the newly loaded //content
.load(nextUrl+ "#block-views-my_calendar-calendar_block_1 .view-display-id-calendar_block_1 .calendar-calendar", bindClick );
};
function prevLoad(){
var prevUrl = $(".view-display-id-calendar_block_1 .date-prev a")[0].href;
$(".view-display-id-calendar_block_1")
.html(loading)
.css({ opacity: 0 }).fadeTo("normal",1)
.load(prevUrl+ "#block-views-my_calendar-calendar_block_1 .calendar-calendar", bindClick );
};
function bindClick(){
$(".view-display-id-calendar_block_1 .date-prev a").click(function(){
prevLoad();
return false;
});
$(".view-display-id-calendar_block_1 .date-next a").click(function(){
nextLoad();
return false;
});
};
// Append the click function to the on the initial page load
bindClick();
});
Az eredeti kód innen van: http://drupal.org/node/339279#comment-2006476 viszont ét kellett alakítani, különben naptár oldalon a naptár blokk nem viselkedett valami jó.