Форматирование отображения даты fullcalendar js в представлении listMonth

#javascript #formatting #fullcalendar

#javascript #форматирование #полный календарь

Вопрос:

В настоящее время я конвертирую дизайн PSD, который требует, чтобы в календаре отображался только день события, а не отображалась полная дата. например: 12 вместо 12 октября 2016 года

Вот что у меня есть до сих пор:

введите описание изображения здесь

Как вы можете видеть слева, он отображает 12 октября 2016 года. Я хочу, чтобы он отображал только «12». Я пытался просмотреть документы, но не могу найти параметры, специфичные для представления listMonth. И вот мой код для отображения календаря:

 <script>

    $(document).ready(function() {

        $('#calendar').fullCalendar({

            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,listYear',
            },

            views: {
                listMonth: {
                    titleFormat: 'MMMM'
                }
            },

            defaultView: 'listMonth',

            displayEventTime: false, // don't show the time column in list view

            // THIS KEY WON'T WORK IN PRODUCTION!!!
            // To make your own Google API key, follow the directions here:
            // http://fullcalendar.io/docs/google_calendar/
            //googleCalendarApiKey: 'AIzaSyDcnW6WejpTOCffshGDDb4neIrXVUA1EAE',

            // US Holidays
            //events: 'en.usa#holiday@group.v.calendar.google.com',
                   events: [
    <?php if( $events->have_posts() ) :
        while ($events->have_posts()) : $events->the_post();
            $event_dates = get_post_meta(get_the_id(), 'date', true);
            $event_info = get_post_meta(get_the_id(), 'info', true);
            //foreach($event_dates as $event_date):
     ?>
        {

                    title: '<?php the_title(); ?>',
                    start: '<?php echo date('Y-m-d', strtotime($event_dates["start_date_time"])); ?>',
                    description: '<?php echo date('ga', strtotime($event_dates["start_date_time"])).', '.$event_info["venue"].', '.$event_info["place"]; ?>'
        },
    <?php endwhile; ?>
    <?php endif; ?>
        // more events here
    ],
    eventRender: function(event, element, view) {
        return $('<tr><td>'   event.description   '</td></tr>');
    },


            eventClick: function(event) {
                // opens events in a popup window
                window.open(event.url, 'gcalevent', 'width=700,height=600');
                return false;
            },

            loading: function(bool) {
                $('#loading').toggle(bool);
            }

        });

    });
</script>
 

Я надеюсь, что кто-нибудь сможет мне помочь с этим. Это все, что мне нужно, и тогда я закончил. Спасибо!

Ответ №1:

просто используйте это :

 $(".fc-list-heading-alt").html($(".fc-list-heading-alt").text().split(" ")[1].split(",")[0]);
 

после отображения календаря. Надеюсь, это поможет вам

а также добавьте этот onclick в кнопки next, prev

Комментарии:

1. Только что попробовал это. Я также пытался изменить текст с помощью jquery, но это вообще не влияет на календарь. Любые изменения после рендеринга, похоже, не работают. Но спасибо, чувак

2. запишите его после кода fullcalendar, т.е. вызовите его, когда календарь отображается на экране

3. Вы пробовали это? Я сделал, это не влияет на календарь.

4. ВАУ, это решило мою проблему. Спасибо, чувак! Мне пришлось поместить это в отдельный скрипт. Спасибо!

5. Однако есть одна загвоздка. Всякий раз, когда я пытаюсь перейти к предыдущему и следующему месяцам, он по-прежнему отображает полную дату. В любом случае, я могу это исправить?