teragon / calendar
本包最新版本(1.02)的许可信息不可用。
Laravel 5 Calendar,基于 gloudemans/calendar 和 vics80/calendar
1.02
2015-05-12 10:36 UTC
Requires
- php: >=5.3.0
- illuminate/support: ~4|~5
This package is not auto-updated.
Last update: 2024-09-20 19:30:04 UTC
README
通过 Composer 安装此包。编辑你的项目的 composer.json
文件,添加以下内容:
"require": { "laravel/framework": "4.0.*", "teragon/calendar": "dev-master" }
然后,从终端运行 Composer 更新命令。
composer update
现在,你只需将包的服务提供者添加到项目中,并为包设置别名。为此,打开你的 config/app.php
文件。
在 service providers
数组中添加新行
'Teragon\Calendar\CalendarServiceProvider'
最后,在 aliases
数组中添加新行
'Calendar' => 'Teragon\Calendar\Facades\Calendar',
现在,你就可以开始在应用中使用日历包了。
用法
你可以使用 generate
方法生成一个日历。
// Generate a calendar for the current month and year Calendar::generate(); // Generate a calendar for the specified year and month Calendar::generate(2012, 6);
如果你要添加事件,有两种方式:第一种是在事件包装器中添加没有属性的单独事件
// Add an array of events as the third parameter to add them to the calendar, // keys should be the days of the month. $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/' ); Calendar::generate(2006, 6, $data);
第二种方式是在同一天添加多个事件。你也可以给事件包装器添加一些属性
// Add an array of events as the third parameter to add them to the calendar, // keys should be the days of the month. $data = array(); $data[3][] = array( 'content' => 'http://example.com/news/article/2006/03/', 'attr' => array( 'class' => 'some-css-class' ) ); $data[3][] = array( 'content' => 'http://example.com/news/article/2006/04/', 'attr' => array( 'class' => 'some-css-class' ) ), $data[12][] = array( 'content' => 'http://example.com/news/article/2006/10/', 'attr' => array( 'class' => 'another-css-class' ) ), Calendar::generate(2006, 6, $data);
有几个配置变量你可以设置以更改日历布局
你可以使用 initialize
方法设置这些值
$config = array( 'start_day' => 'monday', 'month_type' => 'long' ); Calendar::initialize($config);
模板
你也可以更改用于日历的模板。
$template = ' {table_open}<table border="0" cellpadding="0" cellspacing="0">{/table_open} {heading_row_start}<tr>{/heading_row_start} {heading_previous_cell}<th><a href="{previous_url}"><<</a></th>{/heading_previous_cell} {heading_title_cell}<th colspan="{colspan}">{heading}</th>{/heading_title_cell} {heading_next_cell}<th><a href="{next_url}">>></a></th>{/heading_next_cell} {heading_row_end}</tr>{/heading_row_end} {week_row_start}<tr>{/week_row_start} {week_day_cell}<td>{week_day}</td>{/week_day_cell} {week_row_end}</tr>{/week_row_end} {cal_row_start}<tr>{/cal_row_start} {cal_cell_start}<td>{/cal_cell_start} {cal_cell_content}<a href="{content}">{day}</a>{/cal_cell_content} {cal_cell_content_today}<div class="highlight"><a href="{content}">{day}</a></div>{/cal_cell_content_today} {cal_cell_no_content}{day}{/cal_cell_no_content} {cal_cell_no_content_today}<div class="highlight">{day}</div>{/cal_cell_no_content_today} {cal_cell_blank} {/cal_cell_blank} {cal_cell_end}</td>{/cal_cell_end} {cal_row_end}</tr>{/cal_row_end} {table_close}</table>{/table_close} '; Calendar::initialize(array('template' => $template)); echo Calendar::generate();