CLNDR事件未传递到Safari点模板

时间:2018-11-13 19:04:16

标签: php wordpress dot.js clndr.js

我正在将https://kylestetz.github.io/CLNDR/http://olado.github.io/模板一起使用,并且Safari和Firefox浏览器似乎未返回events数组。我使用console.log(day)进行了验证,并且events数组仅对于这些浏览器为空。 Chrome可以完美运行。

这是我的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;
?>

日历将为所有浏览器启动,但是,事件不会传递到Safari和Firefox中的DOT模板。

0 个答案:

没有答案