Сайт прекрасен и отличные советы дают. Надеюсь и с FullCalendar многие сталкивались...
Прилично докрутил свой календарь - но опять столкнулся с нехваткой знаний...
eventSources: [
{
url: 'ajax.php',
color: 'red',
type: 'POST',
data: {
op: 'source',
city: '1'
},
error: function() {
alert('Ошибка соединения с источником данных!');
}
},
{
url: 'ajax.php',
color: 'yellow',
type: 'POST',
data: {
op: 'source',
city: '2'
},
error: function() {
alert('Ошибка соединения с источником данных!');
}
}],
eventRender: function (event, element) {
if (event.city == 1) {
alert ('la');
}
if (event.city ==2 ) {
alert ('lala');
}
В обработчике:
case 'source':
switch ($city) {
case '1':
$sql = 'SELECT * FROM events WHERE city="1"';
$result = mysql_query($sql) or die ("Ошибка БД ".mysql_error());
$json = Array();
while ($row = mysql_fetch_assoc($result)) {
$json[] = array(
'id' => $row['id'],
'title' => $row['type'],
'descr' => $row['descr'],
'start' => $row['start'],
'finish' => $row['finish'],
'city' => $row['city'],
'allDay' => false
);
}
echo json_encode($json);
break;
case '2':
$sql = 'SELECT * FROM events WHERE city="2"';
$result = mysql_query($sql) or die ("Ошибка БД ".mysql_error());
$json2 = Array();
while ($row = mysql_fetch_assoc($result)) {
$json2[] = array(
'id' => $row['id'],
'title' => $row['type'],
'descr' => $row['descr'],
'start' => $row['start'],
'finish' => $row['finish'],
'city' => $row['city'],
'allDay' => false
);
}
echo json_encode($json2);
break;
}
break;
Уверен это можно упростить...
Пробовал делать одним запросом...
Логически понимаю, что, если city=1, то цвет такой-то, но в документации не разобрался как "задать цвет в зависимости от полученных данных - только так кондово...
fullcalendar.io/docs/event_data/events_function
Я так понимаю, что пишется пользовательская функция, но меня смущает, что color вынесен за ее пределы...
буду признателен за совет или внятные примеры - сам не нашел(
П.с. eventRender срабатывает... осталось задать цвет...