Codeigniter中的日历类未显示下一个/上个月

时间:2011-07-31 12:53:06

标签: codeigniter

我正在尝试生成日历并几乎拥有它,但是当我单击下一个或上一个链接时,日历不会显示 - 否则它是正确的。当我点击下一个网址时,地址栏会显示正确的网址,但下个月不会显示。

这是我的代码:

class Poll_controller1 extends skylark {

function poll_home()
{
    $this->add_to_center(POLL,"poll_view1");
    $this->load_lcr_template();
    $prefs = array (
           'show_next_prev'  => TRUE,
           'next_prev_url'   => 'http://skylarkv2/index.php/poll_controller1/show'
         );

    $this->load->library('calendar', $prefs);
}

function show()
{
    echo $this->calendar->generate($this->uri->segment(3), $this->uri->segment(4));
} 

我犯错了还是错过了什么?

2 个答案:

答案 0 :(得分:1)

从控制器

尝试此操作
 public function display($year = null, $month = null)
    {
            $config = array(
            'show_next_prev' => 'TRUE',
            'next_prev_url' => base_url().'calendarC/display'
            );
            $this->load->library('calendar', $config);
            $data['calendar'] = $this->calendar->generate($year, $month);
            $this->load->view('calendar', $data);
    }

答案 1 :(得分:0)

最有可能的是,您只需要在生成它的同一范围内初始化calendar class。您设置的方式show()不知道如何在poll_home()中初始化类。尝试这样的事情:

function show()
{
    $prefs = array (
       'show_next_prev'  => TRUE,
       'next_prev_url'   => 'http://skylarkv2/index.php/poll_controller1/show'
     );

    $this->load->library('calendar', $prefs);
    echo $this->calendar->generate($this->uri->segment(3), $this->uri->segment(4));
} 

$this->uri->segment(3)$this->uri->segment(4)也有可能不是您认为的那样,仔细检查这些值是否正确。如果您正在进行任何路由,则可能需要使用$this->uri->rsegment()代替(请注意 r )。