【问题标题】:Laravel Fullcalendar 5.5Laravel 完整日历 5.5
【发布时间】:2018-06-25 09:43:58
【问题描述】:

我正在尝试在 (https://github.com/maddhatter/laravel-fullcalendar) 的帮助下实现 Laravel FullCalendar

我的控制器代码 -

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Calendar;
use App\Event;

class EventController extends Controller
{
    public function index()
    {
        $events = [];
        $data = Event::all();
        if($data->count()) {
            foreach ($data as $key => $value) {
                $events[] = Calendar::event(
                    $value->title,
                    true,
                    new \DateTime($value->start_date),
                    new \DateTime($value->end_date.' +1 day'),
                    null,
                    // Add color and link on event
                    [
                        'color' => '#f05050',
                        'url' => 'pass here url and any route',
                    ]
                );
            }
        }
        $calendar = Calendar::addEvents($events);
        return view('fullcalender', compact('calendar'));
    }
}

刀片文件 -

@extends('layouts.app')

@section('style')
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.2.7/fullcalendar.min.css"/>
@endsection

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Full Calendar Example</div>

                <div class="panel-body">
                    {!! $calendar->calendar() !!}
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

@section('script')
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.2.7/fullcalendar.min.js"></script>
{!! $calendar->script() !!}
@endsection

我正在共享日历事件创建代码。

$calendar = \Calendar::addEvents($events) //add an array with addEvents
    ->addEvent($eloquentEvent, [ //set custom color fo this event
        'color' => '#800',
    ])->setOptions([ //set fullcalendar options
        'firstDay' => 1
    ])->setCallbacks([ //set fullcalendar callback options (will not be JSON encoded)
        'eventClick' => 'function() {
             showModal();
         }'
    ]); 

一切正常,但我需要在点击事件时打开 pophover(自定义 html)。因为我用 JS fullcalendar (https://codepen.io/IsmiKin/pen/WbOeGw) 实现了同样的事情。

感谢任何建议。提前致谢。

【问题讨论】:

  • “我需要”不是问题、错误消息或问题陈述。到目前为止,您对您的需求进行了哪些研究?你已经实施(或试图实施)什么?你被什么困住了?这不是一项免费的研究或编写我的代码服务,但我们会帮助解决具体问题。
  • 让我分享我的研究
  • 请做。我们正在等待...
  • 嘿@ADyson,我更新了一个问题
  • 所以我猜您可以使用 PHP 的“回调”部分重新创建 eventRender 回调?看起来您只是将 Javascript 粘贴到其中?

标签: php laravel-5 fullcalendar


【解决方案1】:

只需将 eventRender 添加到 setCallbacks() 方法即可。我假设您使用的是引导程序 4。

$calendar = Calendar::addEvents($e)->setCallbacks([
      'themeSystem' => '"bootstrap4"',
      'eventRender' => 'function(event, element) {
        element.popover({
          animation: true,
          html: true,
          content: $(element).html(),
          trigger: "hover"
          });
        }'
      ]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多