使用查询字符串时,如何在日历中显示下一个/上一个链接?
http://codeigniter.com/user_guide/libraries/calendar.html
谢谢。
这应该相当简单,但并不像设置选项那么容易。
首先,确保您设置了首选项,以便将“show_next_prev”设置为 true,并将“next_prev_url”设置为您的日历所在的任何 URL。确保您没有在 URL 的末尾添加任何内容,例如斜杠或问号等。
其次,为了不破坏核心库文件,创建一个名为 MY_Calendar 的新类并将其放在您的应用程序/库文件夹中。使此类扩展日历类。
接下来将原始 Calendar 类中的 generate() 函数复制并粘贴到新的 MY_Calendar 类中。我们现在可以编辑这个函数,它会覆盖而不删除原来的。
找到在 next_prev_url 变量中添加尾部斜杠的行(第 163 行附近)并将其删除。
再往前几行你会看到:
$out .= str_replace('{previous_url}', $this->next_prev_url.$adjusted_date['year'].'/'.$adjusted_date['month'], $this->temp['heading_previous_cell']);
将此行替换为:
$out .= str_replace('{previous_url}', $this->next_prev_url.'?year='.$adjusted_date['year'].'?month='.$adjusted_date['month'], $this->temp['heading_previous_cell']);
然后在几行之后对 next_url 执行完全相同的操作。它应该在第 183 行附近,并且看起来非常相似。
应该就是这样。您所做的只是确保为 next 和 prev url 生成的语法与查询字符串样式匹配。
请注意,我没有对此进行测试,但它应该可以工作!