我正在构建一个日历,遇到了问题。我需要将带有事件的多维数组传递到日历库
这来自Codeingter的用户手册:
$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}
谢谢!
我要做的是扩展本机CodeIgniter Calendar库,并覆盖generate()
函数。在构建日历主体的while循环中,更改构建单元格内容的代码。让它用你的给定标题替换{title},用你的url替换{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)));
我会做得很好,但我没有时间测试它。