Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完整日历-我可以';无法检索日历上的事件_Javascript_Php_Laravel_Fullcalendar_Fullcalendar 3 - Fatal编程技术网

Javascript 完整日历-我可以';无法检索日历上的事件

Javascript 完整日历-我可以';无法检索日历上的事件,javascript,php,laravel,fullcalendar,fullcalendar-3,Javascript,Php,Laravel,Fullcalendar,Fullcalendar 3,我在“/index”url上提供了json格式的事件。我希望能够检索它们,以便在日历上显示它们。我严格遵守了官方教程,但不幸的是,我仍然无法做到这一点,以下是我的文件: calendar.js $(函数(){ “严格使用” //初始化完整日历 $(“#日历”).fullCalendar({ 高度:'父', 区域设置:“fr”, 标题:{ 左:“上一个,下一个今天”, 中心:'标题', 右图:“月、agendaWeek、agendaDay、listWeek” }, 导航链接:是的, 是的, 选择

我在“/index”url上提供了json格式的事件。我希望能够检索它们,以便在日历上显示它们。我严格遵守了官方教程,但不幸的是,我仍然无法做到这一点,以下是我的文件:

calendar.js

$(函数(){
“严格使用”
//初始化完整日历
$(“#日历”).fullCalendar({
高度:'父',
区域设置:“fr”,
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月、agendaWeek、agendaDay、listWeek”
},
导航链接:是的,
是的,
选择长按延时:100,
是的,
是的,
defaultView:'listMonth',
观点:{
议程:{
columnHeaderHtml:函数(mom){
返回“”+mom.format('ddd')+“”+
''+mom.format('DD')+'';
}
},
日期:{
列标题:false
},
上市月份:{
listDayFormat:'ddd DD',
listDayAltFormat:false
},
列表周:{
listDayFormat:'ddd DD',
listDayAltFormat:false
},
agendaThreeDay:{
键入:“议程”,
持续时间:{
天数:3
},
标题格式:“MMMM YYYY”
}
},
事件:“/index”,
eventAfterAllRender:函数(视图){
如果(view.name=='listMonth'| | view.name==='listWeek'){
变量日期=view.el.find('.fc list heading main');
日期。每个(函数(){
var text=$(this.text().split(“”);
var now=moment().format('DD');
$(this.html(文本[0]+''+文本[1]+'');
如果(现在===文本[1]){
$(this.addClass('now');
}
});
}
console.log(view.el);
},
eventRender:函数(事件,元素){
if(事件描述){
元素。查找('.fc列表项标题')。追加(''+event.description+'');
元素.find('.fc content').append(''+event.description+'');
}
var eBorderColor=(event.source.borderColor)?event.source.borderColor:event.borderColor;
元素.find('.fc列表项时间').css({
颜色:黑色,
边框颜色:eBorderColor
});
元素.find('.fc列表项标题').css({
边框颜色:eBorderColor
});
css('borderLeftColor',eBorderColor);
},
});
var calendar=$('#calendar')。fullCalendar('getCalendar');
//在平板电脑中将视图更改为“周”
if(window.matchMedia(‘(最小宽度:576px)’).matches){
calendar.changeView(“agendaWeek”);
}
//在桌面中将视图更改为月份
if(window.matchMedia(‘(最小宽度:992px)’).matches){
日历。变更视图(“月”);
}
//检测到调整大小时更改基于视图的视口内宽度
日历。选项('windowResize',函数(视图){
如果(view.name=='listWeek'){
if(window.matchMedia(‘(最小宽度:992px)’).matches){
日历。变更视图(“月”);
}否则{
calendar.changeView(“listWeek”);
}
}
});
//显示日历事件模式
calendar.on('eventClick',函数(calEvent、jsEvent、view){
var modal=$('modalcalendarent');
modal.modal('show');
modal.find('.event title').text(calEvent.title);
if(calEvent.description){
modal.find('.event desc').text(calEvent.description);
modal.find('.event desc').prev().removeClass('d-none');
}否则{
modal.find('.event desc').text('');
modal.find('.event desc').prev().addClass('d-none');
}
modal.find('.event start date').text(moment(calEvent.start)).format('LLL');
modal.find('.event end date').text(moment(calEvent.end)).format('LLL');
//造型
modal.find('.modal header').css('backgroundColor',(calEvent.source.borderColor)?calEvent.source.borderColor:calEvent.borderColor);
});
//显示当前日期
var dateNow=calendar.getDate();
日历选项('select',函数(开始日期,结束日期){
$('#modalCreateEvent').modal('show');
$('eventStartDate').val(startDate.format('LL');
$('#eventEndDate').val(endDate.format('LL'));
$('eventStartTime').val('07:00:00').trigger('change');
$('eventEndTime').val('10:00:00').trigger('change');
});
$('.select2 model')。select2({
搜索的最小结果:无穷大,
dropdownCssClass:“选择2下拉模式”,
});
$('.calendar add')。在('click',函数(e)上{
e、 预防默认值()
$('#modalCreateEvent').modal('show');
});

})
PHP代码生成的JSON结构与fullCalendar不兼容。它必须是一个简单的事件数组,周围没有外部结构

e、 g.它应该输出这种结构

[
  { 
    "start": "2020-10-07T07:00:00", 
    "end": "2020-10-07T10:00:00", 
    "title": "statistiques",             
    "description": "drink Coffee"         
  }
] 
只是

要做到这一点,您需要修改PHP,如下所示。我仍然包括了背景和边框颜色,但它们需要分别附加到每个事件对象:

public function index()
{
    $course = DB::select('select * from courses where universityReference = ?', [Auth::user()->universityReference]);

    //let's select the first line
    $data = [unserialize($course[0]->events)];

    foreach ($data as $item)
    {
       $item["backgroundColor"] = $course[0]->backgroundColor;
       $item["borderColor"] = $course[0]->borderColor;
    }

    return $data;
}

PHP代码生成的JSON结构与fullCalendar不兼容。它必须是一个简单的事件数组,周围没有外部结构。e、 g.应仅输出
[{“开始”:“2020-10-07T07:00:00”,“结束”:“2020-10-07T10:00:00”,“标题”:“统计信息”,“说明”:“喝咖啡”}]