如何将带事件的多维数组传递给Codeigniter日历库?

时间:2012-02-17 08:49:54

标签: php codeigniter

我正在制作一个日历,但我遇到了问题。我需要将带有事件的多维数组传递给日历库

这是来自Codeingiter的用户手册:

$this->load->library('calendar');

$data = array(
               3  => 'http://example.com/news/article/2006/03/',
               7  => 'http://example.com/news/article/2006/07/',
               13 => 'http://example.com/news/article/2006/13/',
               26 => 'http://example.com/news/article/2006/26/'
             );

echo $this->calendar->generate(2006, 6, $data);

是否可以传递多维数组,例如:

$this->load->library('calendar');

$data = array(
               3  => array('url'=>'article/2006/03/', 'title'=>'Hello1'),
               7  => array('url'=>'article/2006/07/', 'title'=>'Hello2'),
               13 => array('url'=>'article/2006/13/', 'title'=>'Hello3'),
               26 => array('url'=>'article/2006/26/', 'title'=>'Hello4')
             );

echo $this->calendar->generate(2006, 6, $data);

然后以某种方式在日历模板中引用它,例如:

{cal_cell_content}<h1>{title}</h1><a href="{url}">{day}</a>{/cal_cell_content}

谢谢!

1 个答案:

答案 0 :(得分:2)

我要做的是扩展本机CodeIgniter日历库,并覆盖generate()函数。在修复日历主体的while循环中,更改构建单元格内容的代码。用你的标题替换{title},用你的网址替换{url}。

我想改变:

$out .= str_replace('{day}', $day, str_replace('{content}', $data[$day], $temp));

使用

$out .= str_replace('{day}', $day, str_replace('{title}', $data[$day]['title'],
str_replace('{url}', $data[$day]['url'], $temp)));

几乎会这样做,但我没有时间去测试它。