vics80 / calendar
本包最新版本(1.02)没有可用的许可证信息。
Laravel 5 日历,基于 gloudemans/calendar
1.02
2015-05-12 10:36 UTC
Requires
- php: >=5.3.0
- illuminate/support: ~4|~5
This package is auto-updated.
Last update: 2024-09-15 22:27:13 UTC
README
安装
通过 Composer 安装该包。编辑你的项目的 composer.json
文件,添加以下内容:
"require": { "laravel/framework": "4.0.*", "vics80/calendar": "dev-master" }
接下来,从终端运行 Composer 更新命令
composer update
现在,你只需添加该包的服务提供者和别名。为此,打开你的 config/app.php
文件。
在 service providers
数组中添加一行新内容
'Vics80\Calendar\CalendarServiceProvider'
最后,在 aliases
数组中添加一行新内容
'Calendar' => 'Vics80\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();