【问题标题】:How to customize the FullCalenderBundle by user [Symfony4] [closed]如何由用户自定义 FullCalenderBundle [Symfony4] [关闭]
【发布时间】:2019-02-22 13:14:48
【问题描述】:

我是 symfony 的初学者,我想由用户自定义 FullCalendar。用户只能显示他的事件。那么如何编辑这个脚本呢? :

<script type="text/javascript">
    $(function () {
        $('#calendar-holder').fullCalendar({
            header: {
                left: 'prev, next, today',
                center: 'title',
                right: 'month, basicWeek, basicDay'
            },
            lazyFetching: true,
            navLinks: true,
            eventSources: [
                {
                    url: '/fc-load-events',
                    type: 'POST',
                    data: {
                        filters: {}
                    },
                    error: function () {
                        alert('There was an error while fetching FullCalendar!');
                    }
                }
            ]
        });
    });
</script>

【问题讨论】:

  • 很抱歉,这是与 Symfony 无关的 JS 代码。也许您可以通过一个示例来扩展您的问题,例如输出是什么样子以及您期望什么。此外,您可能希望向我们展示/fc-load-events 调用中发生的情况,因为这可能有助于返回不同的数据。

标签: javascript symfony twig fullcalendar symfony4


【解决方案1】:

您需要先从数据库中获取事件。然后您可以将它们导入到该完整日历脚本中。

您首先需要在用户和事件实体之间建立“一对多”关系。然后,您可以使用类似此代码的内容,让教义返回所有用户 ID 与活动用户 ID 匹配的事件。

$return = $this->getDoctrine()->getRepository(Events::class)->findBy(array('userid' => $user->getId()));

最后你可以使用 JsonResponse 将事件返回为 json。

return new JsonResponse($return)

我很高兴为您整理一下这个答案。但我需要知道你真正要问的是什么。我希望这会有所帮助,但这是我能用如此有限的信息做的最好的事情!

【讨论】:

  • 谢谢布伦南,你明白我的意思,我明白了,而且效果很好。
  • 我还有一个问题,我希望每个用户(Role_admin)通过在日历上方添加的表单中选择一个用户来显示其他用户的事件,那么如何通过 FullCalenderListener.php 读取表单的请求?跨度>
  • 所以当管理员查看日历页面时,日历上方会显示一个表单,允许管理员选择在日历上显示哪些用户事件?
  • 是的,我可以告诉你怎么做。你介意为这个问题创建一个新问题,我会在那个问题上添加我的答案吗?在日历上方显示仅管理员可见的表单非常容易。在您的 TWIG 文件中,在您想要的任何位置创建表单,然后将表单包装在其中。 {% if is_granted('ROLE_ADMIN') %} &lt;form&gt;....&lt;/form&gt;{% endif %}
  • 你可以在这里找到我的新问题stackoverflow.com/questions/54882281/…
猜你喜欢
  • 1970-01-01
  • 2019-07-20
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 1970-01-01
相关资源
最近更新 更多