Модуль новостей 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 для обнаружения