Модуль новостей Business Catalyst и FullCalendar.io

Мне удалось успешно реализовать fullcalendar с модулем новостей BC, но когда событие прошло, оно полностью исчезает из календаря. Мне нужно, чтобы все события прошлого и настоящего оставались в календаре, но когда я заменяю модуль событий на модуль новостей или веб-приложение, моя страница просто становится пустой. Кто-нибудь имеет опыт работы с этим? Код ниже предназначен для рабочего модуля события, если я изменю:

{module_booking filter="all" collection="theEvents" template=""}

чтобы:

{module_announcement filter="all" collection="theEvents" template=""}

Я получаю пустую страницу.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="/css/fullcalendar.min.css" rel="stylesheet" />
<link href="/css/fullcalendar.print.min.css" rel="stylesheet" media="print" />
<link href="http://cdn.jsdelivr.net/qtip2/3.0.3/jquery.qtip.min.css" rel="stylesheet" />
<script src="/js/moment.min.js"></script>
<script src="/js/jquery.min.js"></script>
<script src="/js/fullcalendar.min.js"></script>
<script src="http://cdn.jsdelivr.net/qtip2/3.0.3/jquery.qtip.min.js"></script>
<script>

$(document).ready(function() {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();

  var tooltip = $('<div/>').qtip({
    id: 'calendar',
    prerender: true,
    content: {
        text: ' ',
        title: {
            button: true
        }
    },
    position: {
        my: 'bottom center',
        at: 'top center',
        target: 'mouse',
        viewport: $('#calendar'),
        adjust: {
            mouse: false,
            scroll: false
        }
    },
    show: false,
    hide: false,
    style: 'qtip-light'
}).qtip('api');

    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'listDay,listWeek,month'
        },

        // customize the button names,
        // otherwise they'd all just say "list"
        views: {
            listDay: { buttonText: 'list day' },
            listWeek: { buttonText: 'list week' }
        },

        defaultView: 'month',

        navLinks: true, // can click day/week names to navigate views
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        eventMouseover: function(data, event, view) {
        var content = '<h3>'+data.title+'</h3>' + 
            '<p><b>Start:</b> '+data.start+'<br />' + 
            (data.end && '<p><b>End:</b> '+data.end+'</p>' || '');

        tooltip.set({
            'content.text': content
        })
        .reposition(event).show(event);
    },
    dayClick: function() { tooltip.hide() },
    eventResizeStart: function() { tooltip.hide() },
    eventDragStart: function() { tooltip.hide() },
    viewDisplay: function() { tooltip.hide() },
        events: [
            {module_booking filter="all" collection="theEvents" template=""}
            {% for item in theEvents.items -%}
                {
                    title: '{{ item.name }}',
                    url: '{{ item.url }}',
                    start: '{{ item.date | date: "yyyy-MM-dd" }}'
                },
            {% endfor -%}
        ]
    });

});

</script>
</head>

<body>
<div id="calendar"></div>
</body>
</html>

1 ответ

В случае бронирований вам, вероятно, лучше использовать ликвидный макет с {module_data}, поскольку обычные теги не будут отображать прошлые события.

{module_data resource="bookings" version="v3" fields="name,body,date,capacity,hideWhenFull,disabled,deleted,requiresPayment,createDate,lastUpdateDate" skip="0" limit="10" order="id" collection="myData"}

См. Документацию {module_data}, и вы также можете установить здесь приложение BC API для обнаружения

Другие вопросы по тегам