я использую https://kylestetz.github.io/CLNDR/ с http://olado.github.io/ шаблон, и массив событий, похоже, не возвращается для браузеров Safari и Firefox. Я проверил это с помощью console.log (day), и массив событий пуст только для этих браузеров. Хром работает отлично, хотя.
Вот мой шаблон DOT:
<script id="dot-template" type="text/template">
<div id="clndr-3">
<div class="clndr-grid">
<div class="days-of-the-week">
<div class="days">
{{~it.days :day:index}}
{{? day.events.length }}
<a href="{{= day.events[0].url }}">
<div class="{{= day.classes }}">{{= day.day }}</div>
</a>
{{??}}
<div class="{{= day.classes }}">{{= day.day }}</div>
{{?}}
{{~}}
</div>
</div>
</div>
</div>
</script>
Вот мой JS:
<script type="text/javascript">
jQuery(document).ready(function($){
let clndrTemplate = doT.template($('#dot-template').html()),
events = <?= json_encode($calendar_array); ?>,
let theCalendarInstance = jQuery('#clndr').clndr({
template: jQuery("#clndr-template"),
events: events,
render: function (data) {
return clndrTemplate(data);
},
});
});
</script>
Мой массив событий строится с помощью PHP:
<?php
$calendar_array = array();
foreach( $events as $event ) :
$event_id = $event->ID;
$event_title = $event->post_title;
$event_date = tribe_get_start_date($event_id, false, 'l, F j, Y');
$calendar_array[] = array(
'date' => date('m-d-Y', strtotime($event_date)),
'title' => $event_title,
'url' => get_the_permalink($event_id)
);
endforeach;
?>
Календарь будет запускаться для всех браузеров, однако события не передаются в шаблон DOT в Safari и Firefox.
Задача ещё не решена.
Других решений пока нет …