Php 向资源列表(fullcalendar)中的每个元素添加图标
我的Laravel 7 webapp中的一个控制器为我的FullCalendar v5提供了资源提要。在我尝试为资源列表中的每个单元格添加一个图标之前,它工作得非常好。我尝试了不同的方法,但无法将HTML显示为HTML,它只是将整行Php 向资源列表(fullcalendar)中的每个元素添加图标,php,laravel,fullcalendar,fullcalendar-scheduler,fullcalendar-5,Php,Laravel,Fullcalendar,Fullcalendar Scheduler,Fullcalendar 5,我的Laravel 7 webapp中的一个控制器为我的FullCalendar v5提供了资源提要。在我尝试为资源列表中的每个单元格添加一个图标之前,它工作得非常好。我尝试了不同的方法,但无法将HTML显示为HTML,它只是将整行打印到资源列表中的单元格中。如何将HTML传递给FullCalendar以将其打印为HTML输出?我不想通过resourceLabelContent来实现,因为控制器管理资源 来自我的控制器的代码: public function resourceFeedPr
打印到资源列表中的单元格中。如何将HTML传递给FullCalendar以将其打印为HTML输出?我不想通过resourceLabelContent
来实现,因为控制器管理资源
来自我的控制器的代码:
public function resourceFeedProcessplan(Request $request)
{
(...)
$data = [];
$map = $processes->map(function($items){
$data['id'] = $items->id;
$data['title'] = $items->title.' ('.$items->id.')'.'<?php echo "<i class="material-icons">edit</i>" ?>'; // HTML part not rendered as HTML by FullCalendar.
return $data;
});
return $map;
}
公共功能resourceFeedProcessplan(请求$Request)
{
(...)
$data=[];
$map=$processs->map(函数($items){
$data['id']=$items->id;
$data['title']=$items->title.('.$items->id.)'.';//HTML部分未按FullCalendar呈现为HTML。
返回$data;
});
返回$map;
}
您永远不能将HTML直接放入资源的“title”属性中,fullCalendar将始终将其视为文本
我建议将每个资源所需的HTML放入资源的自定义属性中,然后使用resourceLabelContent
回调将其作为HTML注入fullCalendar构建的DOM元素中
大概是这样的:
resourceLabelContent: function (arg)
{
return { html: arg.resource.title + " " + arg.resource.extendedProps.html };
}
演示:
另外,您的PHP也有问题-您已经在
中添加了“我不想通过resourceLabelContent来实现,因为控制器管理资源”…当然,但在这种情况下,您只是将相同的静态HTML添加到每个资源中。因此,实际上我看不出使用resourceLabelContent会出现问题的具体原因-控制器代码没有改变HTML输出。此编辑按钮只是一个简单的测试,用于查看日历中是否显示HTML。之后,将有id特定的按钮用于编辑和删除。但这不是问题所在。作为将来的参考,通常最好在你的问题中举一个现实的例子,这样人们(像我一样!)就不会来说“没有必要那样做”,相反,他们可以专注于你的实际问题。谢谢,这很有效。顺便问一下:可以将HTML放入resourceAreaHeaderContent
字段吗?可以,为什么不可以?从中可以清楚地看到,它是一种内容注入输入,与resourceLabelContent完全相同。
$map = $processes->map(function($items){
$data['id'] = $items->id;
$data['title'] = $items->title.' ('.$items->id.')';
$data['html'] = '<i class="material-icons">edit</i>';
return $data;
});