向资源列表中的每个元素添加图标(完整日历)
Adding icon to each element in resource list (fullcalendar)
我的 Laravel 7 网络应用程序中的控制器为我的 fullcalender v5 提供了资源提要。在我尝试向资源列表中的每个单元格添加一个图标之前,它工作得很好。我尝试了不同的方法,但无法将 HTML 显示为 HTML,它只是将整行 <?php echo "<i class="material-icons">edit</i>" ?>
打印到资源列表中的单元格。如何将 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;
}
您永远不能将 HTML 直接放入资源的“标题”属性,fullCalendar 将始终将其视为文本。
我建议将每个资源所需的 HTML 放入资源的自定义 属性 中,然后使用 resourceLabelContent
回调将其作为 HTML 注入DOM 元素由 fullCalendar.
构建
像这样:
resourceLabelContent: function (arg)
{
return { html: arg.resource.title + " " + arg.resource.extendedProps.html };
}
演示:https://codepen.io/ADyson82/pen/YzqrNze
P.S。您的 PHP 也有问题 - 您已将 <?php
标签放入字符串文字中,这没有任何意义。它们不会作为 PHP 执行,因此标签将被发送到浏览器 as-is 并且会搞砸 HTML。只需像使用任何普通字符串一样将数据直接放入变量即可。
例如
$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;
});
我的 Laravel 7 网络应用程序中的控制器为我的 fullcalender v5 提供了资源提要。在我尝试向资源列表中的每个单元格添加一个图标之前,它工作得很好。我尝试了不同的方法,但无法将 HTML 显示为 HTML,它只是将整行 <?php echo "<i class="material-icons">edit</i>" ?>
打印到资源列表中的单元格。如何将 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;
}
您永远不能将 HTML 直接放入资源的“标题”属性,fullCalendar 将始终将其视为文本。
我建议将每个资源所需的 HTML 放入资源的自定义 属性 中,然后使用 resourceLabelContent
回调将其作为 HTML 注入DOM 元素由 fullCalendar.
像这样:
resourceLabelContent: function (arg)
{
return { html: arg.resource.title + " " + arg.resource.extendedProps.html };
}
演示:https://codepen.io/ADyson82/pen/YzqrNze
P.S。您的 PHP 也有问题 - 您已将 <?php
标签放入字符串文字中,这没有任何意义。它们不会作为 PHP 执行,因此标签将被发送到浏览器 as-is 并且会搞砸 HTML。只需像使用任何普通字符串一样将数据直接放入变量即可。
例如
$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;
});