Fullcalendar:在重复发生的事件中,我不想显示某些日期

时间:2016-06-10 07:18:14

标签: fullcalendar recurring-events

我使用fullcalendar作为预订日程。我使用重复发生的事件来显示医生的正常可用性。

虽然医生可能在某个特定日期可能无法使用,但确实如此:

示例:史密斯博士每个星期一从1000到1800工作,但只有下一个星期一将无法使用。

fullcalendar中的重复事件允许显示特定日期范围内的事件。 但是如何才能做到相反的事情(除特定日期范围外总是显示)?

你们有没有这个问题吗?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我使用@ Ryan89 JSFiddle管理了一个函数。

//$val is doctor ID value
//adding not availabilty to repeating events
$adesso=date('Y-m-d H:i:s');
$sql_ecc="SELECT * FROM lpap_eccezioni_oneoff WHERE IDmedico=$val AND      datafine>'$adesso' AND stato='Non disponibile' ORDER BY datainizio";
$res_ecc=$wpdb->get_results($sql_ecc);
$qta=count($res_ecc);
if ($qta>0){
$eccezioni_non_disponibile=",ranges: [{start: moment().startOf('year'),";
foreach ($res_ecc as $val_ecc){
$stato=$val_ecc->stato;
if ($stato=="Disponibile"){$dispchecked="checked";$nondispchecked="";}
if ($stato=="Non disponibile"){$dispchecked="";$nondispchecked="checked";}

$datainizioecc=$val_ecc->datainizio;
$datafineecc=$val_ecc->datafine;
$IDeccezioni=$val_ecc->IDeccezioni;
$eccezioni_non_disponibile.="
end: moment('$datainizioecc','YYYY-MM-DD h:mm:ss'),
},{
start: moment('$datafineecc','YYYY-MM-DD h:mm:ss'),";           
}   
$eccezioni_non_disponibile.="end: moment('$datafineecc','YYYY-MM-DD h:mm:ss').endOf('year'),
}]";
} else {$eccezioni_non_disponibile="";}

为了获得此代码:



 ranges: [{
					start: moment().startOf('year'), 
					end: moment('2016-06-13 10:00:00','YYYY-MM-DD h:mm:ss'),
				},{
					start: moment('2016-06-13 18:00:00','YYYY-MM-DD h:mm:ss'), 
					end: moment('2016-06-20 10:00:00','YYYY-MM-DD h:mm:ss'),
				},
        {
					start: moment('2016-06-20 18:00:00','YYYY-MM-DD h:mm:ss'), 
					end: moment('2016-06-20 18:00:00','YYYY-MM-DD h:mm:ss').endOf('year'),
				},]	




我已经在重复事件中添加了$ eccezioni_non_disponibile变量。     $ SHOW_TIME =" {     id:' Disp_ $ val',resourceId:' $ gruppo',     标题:' $ cognome $ nome - Presente',     开始:' $ ora01',     结束:' $ ora02',     道:[$ key],     颜色:' $ rgba',     borderColor:' $ colore'     $ eccezioni_non_disponibile     },&#34 ;;     }

答案 1 :(得分:0)

我已经问过Arshaw(fullcalendar'作者)为什么JSfiddle工作而不是在我的网站上,看起来他不知道任何RANGES功能。

看看这里: enter link description here