2016-06-10 12 views
0

Ich verwende Vollkalender als Buchungsagenda. Ich nutze wiederkehrende Ereignisse, um die reguläre Verfügbarkeit von Ärzten anzuzeigen.Vollkalender: bei wiederkehrenden Ereignissen möchte ich bestimmte Daten nicht anzeigen

Es kommt aber, dass ein Arzt nicht nur für einen bestimmten Zeitpunkt verfügbar sein könnte:

Beispiel: Dr. Smith jeden Montag 1000-1800 funktioniert, aber erst im nächsten Montag nicht zur Verfügung.

Wiederkehrende Ereignisse im Vollkalender können Ereignisse in einem bestimmten Datumsbereich anzeigen. Aber wie kann man das Gegenteil tun (immer außer innerhalb eines bestimmten Datumsbereichs)?

Hat jemand von Ihnen dieses Problem schon?

Danke für jede Hilfe!

+0

einen Blick auf diese JSFiddle http://jsfiddle.net/duu0dx2t/415/ – Ryan89

Antwort

0

Ich habe mit einer Funktion mit @ Ryan89 JSFiddle verwaltet.

//$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="";} 

, um diesen Code zu erhalten:

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

Ich habe dann auf wiederkehrende Ereignisse, die $ eccezioni_non_disponibile Variable hinzugefügt. $ show_time = "{ id: 'Disp_ $ val', resourceId: '$ gruppo', Titel: '$ cognome $ nome - Presente', Start:. '$ Ora01', Ende: '$ ora02' , dow: [$ key], Farbe: '$ rgba', borderColor: '$ colore' $ eccezioni_non_disponibile }, "; }

0

Ich habe Arshaw (Vollkalender 'Autor) gefragt, warum JSfiddle funktioniert und nicht in meiner Website und es sieht aus, dass er keine RANGES-Funktion kennt.

Werfen Sie einen Blick hier: enter link description here