Php 向资源列表(fullcalendar)中的每个元素添加图标

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

我的Laravel 7 webapp中的一个控制器为我的FullCalendar v5提供了资源提要。在我尝试为资源列表中的每个单元格添加一个图标之前,它工作得非常好。我尝试了不同的方法,但无法将HTML显示为HTML,它只是将整行
打印到资源列表中的单元格中。如何将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;
});