mazedlx/calendar

此包最新版本(1.1.0)没有可用的许可信息。

Laravel 5 日历,基于 gloudemans/calendar 的分支

1.1.0 2016-06-01 07:27 UTC

This package is auto-updated.

Last update: 2024-09-16 02:31:35 UTC


README

Build Status

安装

通过 Composer 安装此包。编辑您的项目 composer.json 文件,添加以下内容

"require": {
	"laravel/framework": "4.0.*",
	"mazedlx/calendar": "dev-master"
}

接下来,从终端运行 Composer 更新命令

composer update

现在您只需添加包的服务提供者并将包别名化。为此,打开您的 app/config/app.php 文件。

service providers 数组中添加新行

'Mazedlx\Calendar\CalendarServiceProvider'

最后,在 aliases 数组中添加新行

'Calendar'        => 'Mazedlx\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);

您可以通过设置一些配置变量来更改日历的布局

您可以使用 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}">&lt;&lt;</a></th>{/heading_previous_cell}
   {heading_title_cell}<th colspan="{colspan}">{heading}</th>{/heading_title_cell}
   {heading_next_cell}<th><a href="{next_url}">&gt;&gt;</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}&nbsp;{/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();