yii2fullcalendar 端口后未渲染

问题描述 投票:0回答:1

我最近将一个生产 Yii2 应用程序移至新的虚拟机。旧的 VPS 是 GoDaddy 上的 CentOS,新的 VPS 是在内部 ESXi 主机上运行的 Ubuntu 22.04 VM。 VPS 上的 Yii 版本是 2.0.23,VM 上的 Yii 版本是 2.0.47。

到目前为止唯一的问题是 FullCalendar 扩展:philippfrenzel/yii2fullcalendar。两个虚拟机都使用相同的版本 3.9.0,但新虚拟机无法正确呈现日历小部件。

旧的(正确的)渲染:

新的(损坏的)渲染:

这是一个非常简单的设置。查看代码:

<?= \yii2fullcalendar\yii2fullcalendar::widget([
        'events' => $events,
        'id' => 'home-calendar',
        'clientOptions' => [
            'eventClick' => new JsExpression($js_event_click),
        ],
    ]);
?> 

控制器动作:

$homeEvents = HomeEvent::find()->all();
$events = [];
foreach ($homeEvents as $homeEvent) {
    $event = new Event([
        'id' => $homeEvent->id,
        'title' => $homeEvent->title,
        'allDay' => ($homeEvent->all_day == "T"),
        'start' => $homeEvent->start_dt,
        'end' => $homeEvent->end_dt,
        'editable' => true,
        'className' => ($homeEvent->all_day == 'T') ? 'fc-event-allday' : null,
    ]);
    $events[] = $event;
}
...
return $this->render('homepage', [
    'events' => $events,
...
]);

还有另外 2 台主机,该小部件在 Ubuntu 14.04 VM 和我的 MacOS Ventura 测试计算机上按预期运行。所有 4 台主机上的 PHP 版本均为 5.6。

有什么想法吗?

yii2 fullcalendar
1个回答
0
投票

因此,我将范围缩小到事件模型中的 allDay 布尔属性。文档称此属性“影响是否显示事件的时间。”

如果我根本不包含该属性,日历会正确呈现,但“全天”事件都以时间开始:12a(午夜),如下所示:

如果我将这些事件的 allDay 属性设置为 true,时间就会消失,但事件呈现错误,就像我上面的 OP 中一样。

有趣的是,因为我提出了我能找到的关于 FullCalendar/PHP 集成的所有 YouTube 教程,但没有一个在其示例中使用 allDay 属性。

© www.soinside.com 2019 - 2024. All rights reserved.