03. Modificar cabecera y pie - Piptonita/crear-calendario-FullCalendar GitHub Wiki

Veamos como modificar lo que aparece sobre el calendario (título, navegación, etc..)

  • Nos vamos al archivo calendar.js para modificar la cabecera del calendario:
var calendarDiv = document.getElementById('calendar');

var calendar = new FullCalendar.Calendar(calendarDiv, {
    locales: 'es', 
    initialView: 'dayGridMonth', 
    headerToolbar: { // le pasamos la propiedad headerToolbar
        left: 'today,prev,next', // definimos a la izquierda la navegación
        center: 'title', // en el centro que muestre le mes y año
        right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth', // y en el derecho la vista

    },
});

calendar.render();

Como podemos ver, la cabecera tiene tres columnas. Izquierda, centro y derecha para posicionar distintos elementos que vamos colocando separados por una coma.

Estos son algunos de los elementos disponibles para editar la cabecera:

  • title: muestra el mes y año.

Botones:

  • prev: botón para ir atrás.
  • next: botón para avanzar.
  • prevYear: botón para ir atrás un año.
  • nextYear: botón para avanzar un año.
  • today: botón para ver que a que día estamos.

vistas:

  • dayGridMonth: muestra el calendario mes a mes.

  • timeGridWeek: muestra el calendario semanal.

  • timeGridDay: muestra el calendario día a día.

  • listMonth: muestra los eventos listados de todo el mes.

  • También podemos colocar una barra inferior con la propiedad footerToolbar, esta propiedad utiliza los mismos atributos que su hermana headerToolbar:

var calendarDiv = document.getElementById('calendar');

var calendar = new FullCalendar.Calendar(calendarDiv, {
    locales: 'es', 
    initialView: 'dayGridMonth', 
    footerToolbar: { // vamos a cambiar header por footer
        left: 'today,prev,next', 
        center: 'title', 
        right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth',

    },
});

calendar.render();

Y podemos montar ambos para distribuir una gran cantidad de opciones:

var calendarDiv = document.getElementById('calendar');

var calendar = new FullCalendar.Calendar(calendarDiv, {
    locales: 'es', 
    initialView: 'dayGridMonth', 
    headerToolbar: { 
        left: 'prev', 
        center: 'title', 
        right: 'next',

    },
    footerToolbar: {
        left: 'prevYear',    
        center: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth,today',
        right: 'nextYear'
    },
});

calendar.render();

Ahora tenemos un calendario completo de opciones. Pero nos falta traducir los botones.

  • Vamos a añadir después de las Toolbars la propiedad buttonText para establecer que pondrá en cada botón:
var calendarDiv = document.getElementById('calendar');

var calendar = new FullCalendar.Calendar(calendarDiv, {
    locales: 'es', 
    initialView: 'dayGridMonth', 
    headerToolbar: { 
        left: 'prev', 
        center: 'title', 
        right: 'next',

    },
    footerToolbar: {
        left: 'prevYear',    
        center: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth,today',
        right: 'nextYear'
    }, // añadimos la propiedad buttonText y traducimos los botones o ponemos lo que queramos:
    buttonText: {
        today: 'Hoy',
        month: 'Mes',
        week: 'Semana',
        day: 'Día',
        list: 'Listado'
    }
});

calendar.render();

Y con esto ya tenemos listos los botones.