微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-如何扩展或修改Codeigniter日历以处理多天事件和每天多事件

我不希望在某个地方放过这个轮子,但是有人能扩展或修改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中找到它.我希望这有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐