引用这个: http ://ellislab.com/codeigniter/user-guide/libraries/calendar.html
要允许您的日历通过下一个/上一个链接动态增加/减少,您需要设置类似于此示例的日历代码:
$prefs = array (
'show_next_prev' => TRUE,
'next_prev_url' => 'http://example.com/index.php/calendar/show/'
);
$this->load->library('calendar', $prefs);
echo $this->calendar->generate($this->uri->segment(3), $this->uri->segment(4));
您会注意到有关上述示例的一些内容:
- 您必须将“show_next_prev”设置为 TRUE。
- 您必须在“next_prev_url”首选项中向包含您的日历的控制器提供 URL。
- 您必须通过它们出现的 URI 段向日历生成函数提供“年”和“月”(注意:日历类会自动将年/月添加到您提供的基本 URL。)。
以上是 CodeIgniter 2 文档中关于如何在日历上生成“下一个/上一个”链接的总和。
这是我尝试实现这一点的方式。
在我的events.php
控制器文件中:
public function calendar()
{
$prefs = array (
'month_type' => 'long',
'day_type' => 'short',
'show_next_prev'=> TRUE,
'next_prev_url' => 'http://mydomain.com/events/calendar/'
);
$this->load->library('calendar', $prefs);
echo $this->calendar->generate($this->uri->segment(3), $this->uri->segment(4));
}
在我的routes.php
文件中:
$route['events/calendar'] = 'events/calendar';
当我转到 时/events/calendar/
,我会看到当月的日历。
但是,当我单击next
链接时,我会/events/calendar/2013/04
按预期进入,但这只是一个 404 页面。
我认为文档中的示例做了一个很大的假设,即读者应该自动知道这里还需要做什么。目前尚不清楚该示例是否完整并且应该可以工作,或者我是否应该知道缺少关键部分。我应该创建一个名为的函数show()
吗?或者我应该以calendar()
某种方式将 URL 段传递回我的原始函数并在那里用它们做其他事情?路线?我不确定是什么。
任何人都可以对此有所了解吗?请尽可能详细。谢谢。