Čtení událostí pro fullcalendar
- jedlicka
- Člen | 70
Ahoj,
řeším integraci kallendáře (https://fullcalendar.io/) do nette. Kalendář se mi zobrazuje a chci do něho načíst události z databáze. Bohužel se mi ale nedaří zavolat handle prezenteru (pro vyčtení událostí) ze šablony kalendáře.
Upozorňuji, že moje verze nette je 2.1.
Presenter pro kalendář:
class CalendarPresenter extends BasePresenter {
private $database;
public function __construct(Nette\Database\Context $database) {
$this->database = $database;
}
...
public function handleGetEvents($start, $end) {
...
}
}
Šablona latte pro kalendář (pouze část ajaxu kalendáře):
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: {link getEvents!},
});
});
</script>
Když zadám do prohlížeče https://domena.cz/calendar
, tak
žádná chyba se nezobrazí, a když se podívám do debugu, tak místo
{link getEvents!}
se vloží
"/calendar/?do=getEvents"
, což je správně, ale události se
nenačtou (ten handle se nezavolá).
Pokud přímo do prohlížeče zadám
https://domena.cz/calendar/?do=getEvents
, tak se ten handler
zavolá.
Nevíte někdo prosím, kde dělám chybu, že se nezavolá handle getEvents ze šablony při načtení stránky kalendáře?
Děkuji za každou radu.
Martin
- jedlicka
- Člen | 70
Díky, absolutní cesta nepomůže. Events očekává události v JSONu. Když použiji php function:
events: function(start, end, timezone, callback) {
var uid = {$user->getIdentity()->id};
$.ajax({
url: 'https://domena.cz/calendar/events.php',
data: 'uid=' + uid + '&start=' + start + '&end=' + end,
type: 'GET',
dataType: "json",
success: function (response) {
callback(response);
}
});
},
tak to funguje, ale události se čtou z databáze v samostatném PHP
souboru events.php
. Já bych chtěl zavolat action/handle
z presenteru, abych mohl využít nette. Bohužel se mi nedaří action/handle
zavolat. Sice mohu načíst události při initu presenteru a pak je předat
v proměnné {$events}
, ale já potřebuji události vyčítat
z databáze průběžně (např. při změně měsíce).
Díky.
Martin