Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cabaçonophp

Mostrar dados do evento no fullcalendar

Recommended Posts

boa noite, criei um calendário mas não consigo fazer um evento onclick para mostrar os detalhes da nota (estou chamando de eventos no projeto).

o meu código abaixo utiliza o vetor $eventos para popular todo o calendário com os eventos.

<script>
       $(document).ready(function() {	
           	
          $('#calendario').fullCalendar({
              header: {
                    left: '',
                    center: 'prev, title, next',
                    right: ''
                },
                defaultDate: '2016-10-18',
                editable: true,
                eventLimit: true,
                eventSources: [{
	                       events: [<?php echo $eventos;?>],
                			color: '#2089cf',    
                			textColor: '#fff' // an option!
                  		}]

             
    			});	

         }); 

    </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tem dentro desse cara?

<?php echo $eventos;?>

Exiba ele individualmente, verifice o sua aba console do navegador.

Da uma olhada nessas paginas.

(Bem parecido com seu contexto)

https://fullcalendar.io/docs/event_data/events_json_feed/

https://fullcalendar.io/docs/event_data/events_array/

Outra sacada legal é a partir do array certinho*.

Você criar utilizando esse carinha aqui:

http://php.net/manual/pt_BR/function.json-encode.php

certinho*. =

Ex:

Entrada:

//Seria o retorno do Banco de Dados (um evento especifico por exemplo...

//SELECT title, start, end FROM eventos where id = 11;
$datas = array(
	'title' => 'event2',
	'start' => '2010-01-05',
	'end'	=> '2010-01-07'	
);
echo json_encode($datas);

Saída:

//JS
{
	title : 'event2',
	start : '2010-01-05',
	end   : '2010-01-07'
} 

Bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa gabriel...vlw...agora que vi sua resposta.

Dentro do

<?php echo $eventos;?>

retorna uma string que carrega exatamente todos os eventos, seguindo a configuração para apresentar no callendar:

{title:'Cliente - Ruy Software / Projeto - licenciamento / Nf - 31 / Valor NF - 5000.000 / Valor Depósito - 4692.500',start:'2016-10-18'}

Isso esta perfeito, só que não sei como criar um javascript para abrir os eventos. Ainda não entendi se estou gerando o array eventos de forma muito errada e isso não permite apresentação...ou se é minha total falta de conhecimento no js.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pela documentação, parece haver forma mais simples de fazer sem ter de usar o pedido AJAX, mas aqui fica um exemplo, seguindo a lógica do gabrieldarezzo:

$(document).ready(function() {
  var appointments = new Array();
  loadCalendar();

  function loadCalendar() {
    $.ajax({
      url: "events.php",
      type: "POST",
      dataType: "json",
      success: function(data) {
        $.each(data, function(index, item) {
          appointments.push(item);
        });

        $("#calendar").fullCalendar({
          displayEventEnd: true,
          timeFormat: "H:mm",
          events: appointments
        });
      },
      error: function(errObj, textStatus, errorThrown) {
        console.log(errObj, textStatus, errorThrown);
      }
    });
  }

Estrutura do events.php (para teste):

<?php
  $events = array(
    array("title" => "Cliente - Ruy Software / Projeto - licenciamento / Nf - 31 / Valor NF - 5000.000 / Valor Deposito - 4692.500","start" => "2016-11-18"),
    array("title" => "Teste", "start" => "2016-11-04")
  );
  echo json_encode($events);

Output: [{"title":"Cliente - Ruy Software \/ Projeto - licenciamento \/ Nf - 31 \/ Valor NF - 5000.000 \/ Valor Deposito - 4692.500","start":"2016-11-18"},{"title":"Teste","start":"2016-11-04"}]

Exemplo funcional aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

glr...não to conseguindo entender, desculpe...o que tenho hoje é o calendário preenchido corretamente.

Qualquer evento que eu crie aparece nele.

O ponto é que quero que o evento seja aberto com 1 click.

No exemplo acima, esta com o mesmo problema que eu tenho.

Pela documentação, parece haver forma mais simples de fazer sem ter de usar o pedido AJAX, mas aqui fica um exemplo, seguindo a lógica do gabrieldarezzo:

 Exemplo funcional aqui.

Pelo que pesquisei da para usar uma janela modal (bootstrap) ou ajax ou criar um popup, mas o lance é que o evento não responde com um botão.

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por juniormatrix
      Olá
       
      Achei esse script aqui no fórum mesmo:
       
      $.validator.addMethod( "customEmail", function (value, element) { return this.optional(element) || /^[\w-\.]+@fulano\.com\.br$/i.test(value); }, "Por favor, insira um e-mail válido com o domínio @fulano.com.br" ); $("#formulario").validate({ ignore: ".ignore", rules: { empresa: { required: true }, nome: { required: true }, contato: { required: true }, celular: { required: true }, email: { required: true, email: true, customEmail: true }, }, }); Testei e funcionou perfeitamente, mas gostaria que liberasse mais e-mails válidos, ao invés de apenas um.

      Tem como fazer? 
       
      Se alguém puder ajudar, fico muito grato.
    • Por Alessandro Bodão
      Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem.   https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
    • Por rogerblower
      Boas pessoal, estou precisando de um calendário para agenda com crud para agendamento, mas teria que ser free.
      Obrogado.
    • Por Sapinn
      Fala galera! Tenho um site que possui alguns icones que são puxados da biblioteca flaticon , o problema é que de uma hora pra outra esses icones pararam de aparecer. No meu ambiente local funciona, mas no ambiente de produção eles não aparecem e eu recebo o seguinte erro no console: Failed to load resource: the server responded with a status of 404 () 
       
      Alguém saberia como resolver isso?
    • Por mateus.andriollo
      Carrego um conteudo Ajax e junto com ele vem HTML e JS, existe um marcador que está relacionado a um elemento HTML, quando eu clico e este elemento tem um atributo exemplo data-onload="funcaoOla()" esta função tbm carregada pelo ajax deve ser executada.
       
      Dúvida como eu faço uma chama de função desta forma, seria como exec("funcaoOla")
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.