早上好,
我想在我的mvc项目中添加一个fullcalendar。
当我尝试使用项目任务对json进行编码时,问题就出现了。我使用的代码如下:
proyectosModel.php
public function obtenerTareasProyecto($idProyecto){
$sql = "SELECT tareasProyectos.nombre as title, tareasProyectos.fechaInicio as start, tareasProyectos.fechaLimite as end, tareasProyectos.estado , proyectos.idProyecto, proyectos.nombre as NombreProyecto, usuarios.codUsuario, usuarios.nombre, usuarios.apellido1, usuarios.apellido2\n";
$sql .= "FROM tareasProyectos\n";
$sql .= "JOIN proyectos on tareasProyectos.FKidProyecto = proyectos.idProyecto\n";
$sql .= "JOIN usuarios on tareasProyectos.FKusuarioAsignado = usuarios.codUsuario\n";
$sql .= "WHERE tareasProyectos.FKidProyecto ='" . $idProyecto . "'";
$tareasProyecto = $this->_db->query($sql);
return $tareasProyecto->fetchall(PDO::FETCH_ASSOC);
}
proyectosController.php
public function obtenerTareasProyecto() {
echo json_encode($this->_proyectos->obtenerTareasProyecto($this->getTexto('idProyecto')));
}
proyectos.js
$(document).ready(function(proyecto){
var cargarTareas = $.post('/distribucion/proyectos/obtenerTareasProyecto',
{
idProyecto: proyecto
}, function(datos){
//Here I need to link the title, start and end properties.
}, 'json'}
//Cargamos el calendario principal
$("#calendario").fullCalendar({
weekMode:'variable',
header:{ //Cabecera
left: 'month,basicWeek,agendaDay',
center: 'title',
right: 'today prev,next'
},
firstDay:1, //Primer día de la semana
selectable: true, //Fechas seleccionables
titleFormat:{//Formato del título del calendario
month: "MMMM yyyy",
week: "d 'de' MMMM",
day: "dddd, d 'de' MMMM, yyyy"
},
columnFormat:{
month:"dddd",
week:"dddd d/M",
day:"dddd d/M"
},
monthNames:['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort:['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
dayNamesShort:['Dom','Lun','Mar','Mie','Jue','Vie','Sab'],
buttonText:{
month:'mes',
week:'semana',
day: 'día',
today:'Hoy'
},
eventSources: [
{
events: //¿how can I do with the $.post() method?
}
]
});
}
在javascript文件中,我使用$ .post()方法加载ajax,但我不知道如何请求每个事件或项目任务的标题,开始和结束属性。
干杯。 Francisco J。
答案 0 :(得分:1)
我认为您需要做的是将您的php调用分配为eventSource
类似于Events (as a json feed) jquery.ajax示例中的内容。您需要将参数指定为......
events: {
url: '/distribucion/proyectos/obtenerTareasProyecto',
type: 'POST',
data: {
idProyecto: proyecto
}
}
然后它将返回JSON并且(如果格式正确)将其转换为日历事件。
希望这有帮助!