FullCalendar – přesměrování na stránku po kliknutí na událost
- ver07
- Člen | 5
Ahoj,
potřebovala bych poradit, jak docílit přesměrování na stránku po kliknutí na událost, potřebuji při tom přenášet i id dané události.
Události načítám do kalendáře pomocí následujícího kódu:
public function getTrenink()
{
$result = $this->trainingModel->getTrainings()->order('id');
foreach ($result as $row){
$data[] = [
'id' => $row['id'],
'title' => $row->ref('tym', 'id_tymu')->nazev,
'start' => DateTime::from($row['datum_zacatku'])->format('Y-m-d H:i'),
'end' => DateTime::from($row['datum_konce'])->format('Y-m-d H:i'),
];
}
return $data;
}
public function handleLoadTreninky(){
$data = $this->getTrenink();
$this->redrawControl('calendar');
bdump($data);
return $this->sendJson($data);
}
Následně pak v šabloně vykresluji události v kalendáři tímto způsobem:
`<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
height: 500,
defaultView: 'agendaWeek',
minTime: '12:00:00',
locale: 'cs',
header: {
title: 'MMMM YYYY',
left: 'prev,next today',
right: 'month,agendaWeek,agendaDay,listMonth',
center: 'title'
},
events: {link loadTreninky! },
});
});
</script>
<div id='calendar'></div>`
Přesměrování na jinou stránku potřebuji z důvodu podrobných informací o daném tréninku (účast/neúčast apod.). Jsem v nete začátečník a na tomto jsem se zasekla a opravdu nevím, jak postupovat.
Předem děkuji za případné odpovědi.
- David Matějka
- Moderator | 6445
ahoj, to nesouvisí tak s nette, jako s fullCalendar. konkrétně ty
jednotlivé události maji krom id, title, start a end ještě další
properties, tebe zajímá „url“. takže jak generuješ seznam těch
událostí, tak tam přidej něco jako
'url' => $this->link('EventDetail:default', ['id' => $row['id']])
(samozřejmě se správnou destinací :) )
mimochodem, jak máš return $this->sendJson($data);
, tak ten
return je zbytečný. při zavolání sendJson se ukončí běh presenteru.
- ver07
- Člen | 5
David Matějka napsal(a):
ahoj, to nesouvisí tak s nette, jako s fullCalendar. konkrétně ty jednotlivé události maji krom id, title, start a end ještě další properties, tebe zajímá „url“. takže jak generuješ seznam těch událostí, tak tam přidej něco jako
'url' => $this->link('EventDetail:default', ['id' => $row['id']])
(samozřejmě se správnou destinací :) )mimochodem, jak máš
return $this->sendJson($data);
, tak ten return je zbytečný. při zavolání sendJson se ukončí běh presenteru.
Funguje to, moc děkuji za odpověď, myslela jsem, že to bude složitější.