I know that this is an old post, but you can customize the Calendar by copying the Calendar initialisation code (by using inspect in your browser) and insert it in onCalendarScriptInit
In my case this is what I use as a base, then you can add or modify whatever configuration you want, like weekends: false
?>
<script>
window.addEventListener(‘load’, function () {
$('#calendar').fullCalendar({
monthNames: ["January","February","March","April","May","June","July","August","September","October","November","December"],
monthNamesShort: ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],
dayNames: ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
dayNamesShort: ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],
allDayText: "Full day",
allDayHtml: "Full day",
noEventsMessage: "No events to display",
buttonText: {
today: "Today",
month: "Month",
week: "Week",
day: "Day",
agenda: "Schedule",
print: "Print",
listMonth: "Schedule",
},
views: {
month: {titleFormat: 'MMMM YYYY', columnFormat: 'ddd', timeFormat: 'H:mm',slotLabelFormat: ['ddd','H:mm'],},
week: {titleFormat: 'MMM D YYYY', columnFormat: 'ddd M/D', timeFormat: 'H:mm',slotLabelFormat: ['ddd M/D','H:mm'],},
day: {titleFormat: 'dddd[,] MMM D[,] YYYY', columnFormat: 'dddd M/D', timeFormat: 'H:mm',slotLabelFormat: ['dddd M/D','H:mm'],},
},
firstDay: 0,
header: {
left: 'prev,next today print',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
customButtons: {
goBack: {
text: "Back",
click: function() {
calendarGoBack();
}
},
print: {
text: "Print",
click: function() {
calendar_print();
}
}
},
weekends: false,
editable: true,
slotDuration: "00:30:00",
snapDuration: "00:05:00",
nextDayThreshold: "00:00:00",
eventStartEditable: true,
allDaySlot: true,
noEventsMessage: "No events to display",
events: 'calendar_calendar.php?script_case_init=1&nmgp_opcao=calendar_fetch' + getCategory(false),
eventRender: function (event, element, view) {
if(event.hasOwnProperty('description') && event.description != '')
{
element.find('.fc-title').append('<div class="hr-line-solid-no-margin"></div><span style="font-size: 80%;">'+event.description+'</span></div>');
}
},
dayClick: function(date, jsEvent, view) {
var sDate = date.format(), sTime = '00:00:00', allDay = false;
if (sDate.indexOf('T') > 0)
{
dateParts = date.format().split('T');
sDate = dateParts[0], sTime = dateParts[1];
}
else if ('month' == view.type)
{
sTime = '06:00:00';
}
else
{
allDay = true;
}
tb_show('', 'calendar_calendar.php?nmgp_opcao=edit_novo&sc_cal_click_date=' + sDate + '&sc_cal_click_time=' + sTime + '&sc_cal_click_allday=' + allDay + '&script_case_init=1&nmgp_outra_jan=true&nmgp_url_saida=modal&TB_iframe=true&modal=true&height=500&width=700', '');
},
eventClick: function(calEvent, jsEvent, view) {
tb_show('', 'calendar_calendar.php?nmgp_opcao=igual_calendar&id=' + calEvent.id + '&__orig_id=' + calEvent.id + '&script_case_init=1&nmgp_outra_jan=true&nmgp_url_saida=modal&TB_iframe=true&modal=true&height=500&width=700', '');
},
eventDrop: function(event, delta, revertFunc) {
$.ajax({
url: 'calendar_calendar.php',
type: 'POST',
dataType: 'json',
data: { 'script_case_init': '1', 'nmgp_opcao': 'calendar_drop', 'sc_event_id': event.id, 'sc_day_delta': delta._data.days, 'sc_time_delta': (delta._data.hours * 60) + delta._data.minutes, 'sc_all_day': event.allDay, 'sc_fullcal_start': (event._start && event._start._d ? event._start._d.toISOString() : ''), 'sc_fullcal_end': (event._end && event._end._d ? event._end._d.toISOString() : '') },
originalEvent: event,
success: function(data) {
var bChanged = false;
if (false == data['status']) {
revertFunc();
}
else {
if ('' != data['backgroundColor']) {
if (this.originalEvent.backgroundColor != data['backgroundColor']) {
bChanged = true;
}
this.originalEvent.backgroundColor = data['backgroundColor'];
}
if ('' != data['borderColor']) {
if (this.originalEvent.borderColor != data['borderColor']) {
bChanged = true;
}
this.originalEvent.borderColor = data['borderColor'];
}
if (this.originalEvent.allDay || this.originalEvent.originalAllDay || bChanged) {
$('#calendar').fullCalendar('refetchEvents');
}
else {
$('#calendar').fullCalendar('updateEvent', this.originalEvent);
}
}
if ('' != data['message']) {
alert(data['message']);
}
}
});
},
eventResize: function(event, delta, revertFunc) {
$.post(
'calendar_calendar.php',
{ 'script_case_init': '1', 'nmgp_opcao': 'calendar_resize', 'sc_event_id': event.id, 'sc_day_delta': delta._data.days, 'sc_time_delta': (delta._data.hours * 60) + delta._data.minutes, 'sc_fullcal_start': (event._start && event._start._d ? event._start._d.toISOString() : ''), 'sc_fullcal_end': (event._end && event._end._d ? event._end._d.toISOString() : '') },
function(data) {
if (false == data['status']) {
revertFunc();
}
if ('' != data['message']) {
alert(data['message']);
}
},
'json'
);
},
defaultView: 'agendaWeek',
});
});
</script>
<?php
Don’t use this code directly, you need to copy it from your system to work correctly since it include your app name and internal ID