我不希望在某个地方放过这个*,但是有人能扩展或修改codigniter日历来处理每天多天的事件,还是某个地方有可用的模块?
解决方法:
可以通过以下代码在文件系统/libraries/Calendar.php中轻松地对此进行修改.我知道编辑任何系统文件都被视为禁忌,但这在我的应用程序中为我带来了很多帮助.注意注释部分中的// //如果同一天有多个事件,则请注意foreach()循环.这是需要添加到Calendar.php库文件中的代码.该资源可以在下面的链接中进一步阐述.
http://codeigniter.com/forums/viewthread/196998/
Calendar.php修改后的代码:
if (isset($data[$day]))
{
// Cells with content
$temp = ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_content_today'] : $this->temp['cal_cell_content'];
// If more than one event on the same day
if (is_array($data[$day]))
{
$several_events = '';
foreach ($data[$day] as $key => $value)
{
$several_events .= '<li id="'.$key.'">'.$value.'</li>';
}
$out .= str_replace('{day}', $day, str_replace('{content}', $several_events, $temp));
}
// One event per day
else
{
$out .= str_replace('{day}', $day, str_replace('{content}', $data[$day], $temp));
}
}
else
{
// Cells with no content
$temp = ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_no_content_today'] : $this->temp['cal_cell_no_content'];
$out .= str_replace('{day}', $day, $temp);
}
}
else
{
// Blank cells
$out .= $this->temp['cal_cell_blank'];
}
请记住,我已经展示了不仅仅是上面的编辑代码,以帮助您在Calendar.php中找到它.我希望这有帮助!