苏可/ 尤里乌斯
一个主要为 Laravel 开发的 PHP 包,用于管理日历和事件。
Requires
- laravel/framework: ~5.0
This package is not auto-updated.
Last update: 2024-09-11 13:36:10 UTC
README
一个主要为 Laravel 开发的 PHP 包,用于管理日历和事件。
(此包受 laravel-calendar 启发。)
感谢 makzumi!
(此包适用于 Laravel 5+。 适用于 Laravel 4.2)
安装
在 composer.json 中添加此包名
"require": {
"sukohi/julius": "2.*"
}
执行 composer 命令。
composer update
在 app.php 中注册服务提供者
'providers' => [
...Others...,
Sukohi\Julius\JuliusServiceProvider::class,
]
也别名
'aliases' => [
...Others...,
'Julius' => Sukohi\Julius\Facades\Julius::class
]
用法
最小化方式
echo \Julius::make();
带有选项
请参阅 方法 获取详细信息。
$events = [
date('Y-m') .'-11 10:15:00' => ['Event 1', 'Event 2'],
date('Y-m') .'-09 10:26:00' => ['Event 3', '<strong>Event 4</strong>'],
date('Y-m') .'-07 14:12:23' => ['Event 5'],
date('Y-m') .'-15 12:39:00' => ['Event 6'],
date('Y-m') .'-17 25:50:00' => ['Event 7'], // You can use times over 24:00
];
$julius = \Julius::make();
$julius->setStartDate(\Request::get('base_date')) //Set base date
->showNavigation(true) // Show or hide the navigation
->showDayOfWeek(true) // Show or hide the day of week for "week" or "day" mode.
->setMode(\Request::get('mode')) // month, week or day
->setHours('8:10', '18:20') // Set the hour range for day and week mode. And you can use times over 24:00
->setClasses([ // Set classes
'table' => 'table table-bordered',
'header' => 'table-header',
'time' => 'time',
'prev' => 'btn',
'next' => 'btn',
'day_label' => 'text-success', // You can use array like ['0' => 'sunday-class', '6' => 'saturday-class']
'today' => 'text-danger',
'year_month' => 'text-center',
'day' => 'text-muted', // You can use array like ['0' => 'sunday-class', '6' => 'saturday-class']
])
->setWraps([ // Set wrapers
'event' => ['<p>', '</p>'],
'day' => ['<div>', '</div>'],
'date' => ['<span>', '</span>']
])
->setIcons([ // Set navigation icons (You can use HTML tags)
'prev' => '<span class="glyphicon glyphicon-arrow-left"></span> Prev',
'next' => 'Next <span class="glyphicon glyphicon-arrow-right"></span>'
])
->setNavigationJsFunction('your_function_name') // When using this method, the navigation icon link has onclick event. e.g) onclick="your_function_name(date)".
->setDayLabels(['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']) // Set week day names
->setMonthLabels(['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']) // Set month names
->setInterval('+10 minutes') // e.g.) +3 hours, +30 minutes etc...
->setEvents($events, $callback = function($events, $start_dt, $end_dt){ // Set events and its callback function(Callback is optional)
$html = '<div>'. $start_dt->day .'</div>';
$html .= '<pre>'. print_r($events, true) .'</pre>';
$html .= '<pre>'. print_r($start_dt, true) .'</pre>';
$html .= '<pre>'. print_r($end_dt, true) .'</pre>';
return $html;
})
->setDateFormats([ // Set date formats
'year_month' => 'm Y',
'day' => 'w j',
'time' => 'H:i'
]);
echo $julius->generate();
方法
showNavigation($bool)
显示或隐藏导航
showDayOfWeek($bool)
显示或隐藏星期几(仅适用于 week
或 day
模式)。
setMode($str)
设置日历类型。$str 可以是 month、week 或 day。
setHours($start, $end)
设置 day
和 week
模式的时范围。
您需要设置时间格式,如 00:00
、10:25
作为 $start 和 $end。
您可以设置超过 24:00 的时间。
setClasses($array)
设置类似以下值的 class。
setClasses([
'table' => 'table table-bordered',
'header' => 'table-header',
'time' => 'time',
'prev' => 'btn',
'next' => 'btn',
'day_label' => 'text-success', // You also can set array like ['0' => 'sunday-class', '6' => 'saturday-class']
'today' => 'text-danger',
'year_month' => 'text-center',
'day' => 'text-muted', // You also can set array like ['0' => 'sunday-class', '6' => 'saturday-class']
])
setWraps($array)
设置包装器。
setWraps([
'event' => ['<p>', '</p>'],
'day' => ['<div>', '</div>'],
'date' => ['<span>', '</span>']
])
setIcons($array)
设置导航图标。 (您可以使用 HTML 标签)
setIcons([
'prev' => '<span class="glyphicon glyphicon-arrow-left"></span> Prev',
'next' => 'Next <span class="glyphicon glyphicon-arrow-right"></span>'
])
setNavigationJsFunction($js_function_name)
使用此方法时,导航图标链接具有以下 onclick 事件。
onclick="js_function_name('2015-09')"
setDayLabels($array)
设置星期几名称
setDayLabels(['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])
setMonthLabels($array)
设置月份名称。
setMonthLabels([
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
])
setInterval($str)
设置时间步长。$str 可以是 +3 hours、+30 minutes 等...
setEvents($events, $closure)
设置事件及其回调(闭包)
setEvents($events, function($event, $start_dt, $end_dt){
// Here you can make content for a specific event.
return $start_dt->day .' - '. $start_dt .' - '. $end_dt;
})
// $start_dt and $end_dt are Carbon object.
setDateFormats($array)
设置日期格式。
有关其他日期符号,请参阅 此处。
setDateFormats([
'year_month' => 'm Y',
'day' => 'w j',
'time' => 'H:i'
])
许可协议
此包受 MIT 许可协议许可。
版权所有 2015 Sukohi Kuhoh