menu
Fórum Adianti
menu Menu
Como pegar dados de um CalendarEvent no formato string? Olá pessoal. Criei um calendário tipo FullCalendarDatabaseView e estou tentando fazer com que os dados do evento apareça em uma TMessage. A função de quando o usuário clica em um evento eu mostro abaixo. No vardump($object) ele traz uma espécie de array, mas não consigo fazer o implode. Eu queria mostrar na TMessage os dados do evento, como título, horário de início, de término ...
FT
Como pegar dados de um CalendarEvent no formato string?  
Olá pessoal. Criei um calendário tipo FullCalendarDatabaseView e estou tentando fazer com que os dados do evento apareça em uma TMessage.

A função de quando o usuário clica em um evento eu mostro abaixo.

No vardump($object) ele traz uma espécie de array, mas não consigo fazer o implode. Eu queria mostrar na TMessage os dados do evento, como título, horário de início, de término e descrição.

public function onEdit($param) //Ao clicar em sobre evento { try { if (isset($param['key'])) { // get the parameter $key $key=$param['key']; // open a transaction with database 'samples' TTransaction::open('intranet_ad'); $object = new CalendarEvent($key); TTransaction::close(); var_dump($object); } else { $this->form->clear(); } } catch (Exception $e) // in case of exception { // shows the exception error message new TMessage('error', $e->getMessage()); // undo all pending operations TTransaction::rollback(); } }

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (4)


FT

Quando dou um vardump no calendar event ele mostra este resultado:

object(CalendarEvent)#1 (3) { ["data":protected]=> array(6) { ["id"]=> string(1) "5" ["start_time"]=> string(19) "2017-08-03 02:00:00" ["end_time"]=> string(19) "2017-08-03 03:00:00" ["title"]=> string(6) "testse" ["description"]=> string(8) "stestset" ["color"]=> string(7) "#3a87ad" } ["vdata":protected]=> NULL ["attributes":protected]=> array(5) { [0]=> string(10) "start_time" [1]=> string(8) "end_time" [2]=> string(5) "color" [3]=> string(5) "title" [4]=> string(11) "description" } }

creio que não consigo usar esses dados por estarem protegidos.
NR

Felipe, a variável $object é um objeto e não um array. Veja no exemplo abaixo como manipular essas informações:
adianti.com.br/framework_files/tutor/index.php?class=ObjectLoadView
FT

Muito obrigado Nataniel, funcionou perfeito! Eu não estava sabendo manipular mesmo. Segue o código:

public static function onEdit($param) //Ao clicar em sobre evento { try { if (isset($param['key'])) { // get the parameter $key $key=$param['key']; $title= new stdClass; $description= new stdClass; $start_time= new stdClass; $end_time= new stdClass; // open a transaction with database 'samples' TTransaction::open('intranet_ad'); $object = new CalendarEvent($key); $title->title = $object->title; $description->description = $object->description; $start_time->start_time = $object->start_time; $end_time->end_time = $object->end_time; TTransaction::close(); echo 'Título: ' . $title->title . "\n"; echo 'Descrição: ' . $description->description. "\n"; echo 'Início: ' . $start_time->start_time. "\n"; echo 'Término: ' . $end_time->end_time. "\n"; $desc=array(); $desc[0]=$title->title; $desc[1]=$description->description; $desc[2]=$start_time->start_time; $desc[3]=$end_time->end_time; new TMessage('info',"Título: $desc[0]<br/>Descrição: $desc[1]<br/>Início: $desc[2]<br/>Término: $desc[3]"); } else { $this->form->clear(); } } catch (Exception $e) // in case of exception { // shows the exception error message new TMessage('error', $e->getMessage()); // undo all pending operations TTransaction::rollback(); } }
NR

Felipe, só para lembrar que não é necessário criar as variáveis como objetos:
  1. <?php
  2. $title->title $object->title// deste modo $title = objeto, contendo um atributo title
  3. $title $object->title// deste modo $title = string
  4. echo $title;
  5. ?>