Partage
  • Partager sur Facebook
  • Partager sur Twitter

FullCalendar Events et CodeIgniter

En JSON !

Sujet résolu
    18 juin 2015 à 18:16:21

    Bonsoir ! :D

    J'ai quelques soucis pour récupérer les infos en JSON pour mon FullCalendar.

    Quelques explications. Mon calendrier est crée dans la vue (dossier View) test.php, qui est chargé par le controller (dossier controller) Calendar.php dans la méthode index(). Donc test.php et full.php sont dans le même dossier.

    Mon fichier JSON est afficher dans la vue full qui lui aussi est appelée par le controller Calendar.php, dans la fonction full()

    class Calendar extends CI_Controller
    {	
    	public function index()
    	{
    		$data = array( 'title' => 'Emplois du temps.');
    		$this->load->view('contenu/header', $data);
    		$this->load->view('contenu/menu');
    		$this->load->view('calendar/test');
    		$this->load->view('contenu/footer');
    	}
    
    	public function full()
    	{
    
    		$this->load->view('calendar/full');
    	}
    }

    Le fichier test.php qui crée et affiche le calendrier : 

    <div id="container">
    	<script>
    		$(document).ready(function () {
    		  var calendar = $('#calendar').fullCalendar({
    		    // paramètres de base
    		    // Parlons Français
    		    monthNames:['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
    		    monthNamesShort:['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
    		    dayNames:['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
    		    dayNamesShort:['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
    		    titleFormat:{
    		        month:'MMMM  YYYY',
    		        week: "dddd DD MMMM YYYY",
    		        day:'dddd DD MMM YYYY'
    		    },
    			columnFormat:{
    			month:'ddd',
    			week:'ddd DD/MM',
    			day:'dddd DD/MM'
    			},
    		    axisFormat:'HH:mm',
    		    timeFormat:{
    		        '':'HH:mm',
    		        agenda:'HH:mm{ - HH:mm}'
    		    },
    		    allDayText:"Journée entière",
    		    buttonText:{
    		        today:'Aujourd\'hui',
    		        day:'Jour',
    		        week:'Semaine',
    		        month:'Mois'
    		    },
    			firstDay:1, //premier jour de la semaine => Lundi
    			defaultView:'agendaWeek', // par défaut on affiche un agenda semaine
    			header:{ // Mise en forme de l entete
    				left:'prevYear,prev,next,nextYear,today', // à gauche: les boutons de navigation
    				center:'title', // au milieu: le titre
    				right:'month,agendaWeek,agendaDay' // à droite: les boutons de type de vue
    			},
    		    eventSources: [ '<?php echo site_url('calendar/full')?>'
    		        // etc...
    		    ],
    		    
    
    		 });
    		})
    	</script>
    	<div id='calendar'></div>
    </div>

    Et le fichier full.php qui affiche mes données JSON :

    <div id="container">
        <?php
    
           $tab[] = array('id'        => 1,
              'title'     => "test",
              'start'     => '2015-06-18 18:20',
             'end'       => '2015-06-18 19:00',
             'allDay'    => false,
             'url'       => "#");
     
        echo json_encode($tab);   
        ?>
    </div>
    

    Quand je rentre :

    eventSources: [ [{"id":1,"title":"test","start":"2015-06-18 18:20","end":"2015-06-18 19:00","allDay":false,"url":"#"}] ],
     

    Mon événement s'affiche parfaitement dans mon FullCalendar. Ce n'est donc pas une erreur au niveau du JSON.

    Par contre, quand j'essaye :

     eventSources: [ 'http://localhost/Projet/V3.0/CodeIgniter/index.php/calendar/full' ]

    Cela ne fonctionne pas, sachant que ma page full renvoie exactement :

    [{"id":1,"title":"test","start":"2015-06-18 18:20","end":"2015-06-18 19:00","allDay":false,"url":"#"}]

    Sachant que mon full est appelée dans le controller : Calendar, fonction full

    J'ai essayé de mettre :  eventSources: [<?php echo site_url('calendar/full')?>]

    eventSources: ["<?php echo site_url('calendar/full')?>"]

    eventSources: ['<?php echo site_url('calendar/full')?>']

    eventSources: ['full.php']

    eventSources: ["full.php"]

    eventSources: ['../controllers/Calendar.php']

    eventSources: ['../../controllers/Calendar.php']

    Fonctionne pas non plus !

     Je suis un peu perdu, je ne vois pas du tout ce que je doit mettre dans eventSources comme URL !

    Merci de votre aide ! :D

    -
    Edité par Eraseth 18 juin 2015 à 18:18:27

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2015 à 10:52:32

      Petit up, siouplaît ! (Désolé du Up un peu tôt, mais j'en ai besoin pour cet après midi :o) !

      -
      Edité par Eraseth 19 juin 2015 à 10:52:57

      • Partager sur Facebook
      • Partager sur Twitter
        19 juin 2015 à 13:38:09

        Hello,

        Pourquoi ne pas récupérer tes variables :

        $tableau_json = file_get_contents("full.php");
        
        var_dump(json_decode($tableau_json));


        Et après tu fais un $this->calendar->generate("les variables de json");

        • Partager sur Facebook
        • Partager sur Twitter
          20 juin 2015 à 2:03:32

          J'ai trouvé :

          <div id="container">
          </div>

          La page JSON ne doit contenir aucun contenu HTML ! :D

          Merci quand même.

          Sujet résolu !

          • Partager sur Facebook
          • Partager sur Twitter

          FullCalendar Events et CodeIgniter

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown