Было бы более разумно сделать это изменение в PHP, а не в JavaScript, чтобы события приходили в календарь в готовом виде - это будет более эффективно. Примерно так будет работать:
foreach($result as $row)
{
$className = "";
if (strpos($row["title"], "Today") !== false)
$className = "booked";
else if strpos($row["title"], "Tom") !== false)
$className = "bbked";
else if strpos($row["title"], "Tues") !== false)
$className = "bked";
}
$data[] = array(
'id' => $row["id"],
'title' => $row["title"],
'start' => $row["start_event"],
'end' => $row["end_event"],
'className' => $className
);
}
Подробную информацию о функции PHP, которую я использовал, чтобы найти запрошенные подстроки в вашем заголовке, см. https://www.php.net/manual/en/function.strpos.php. Затем в вашем CSS выможно определить классы примерно так (конечно, вы можете изменить точные цвета в соответствии с вашими предпочтениями):
.booked
{
background-color: #57C764;
}
.bbked
{
background-color: #D0BEE9;
}
.bked
{
background-color: #C95E5E;
}
PS Вам также необходимо удалить
events: [
{ // this object will be "parsed" into an Event Object
title: 'Today', // a property!
className: 'booked' // a property! ** see important note below about 'end' **
}
]
изваш JavaScript. Вы не можете указывать свойство "events" дважды в опциях. Это верно для любого объекта. Если у вас есть одно и то же свойство дважды (или больше), компьютер не сможет их различить и будет использовать только последнее объявленное вами.
Вы также можете удалить весь раздел eventRender
, так как теперь это не нужно, так какхорошо.