模板因不存在php错误而失败


Template fail for non-exist php error

im正在使用Propel和Smarty。我有一个servicios.php文件,它只包含:

include('private/autoload.php');
// Servicios Todos
$servicios = ServicioQuery::Create()->orderByTitulo(Criteria::ASC)->find()->toArray();
$smarty->assign('servicios',$servicios);
// Servicio a mostrar
$servQry = ServicioQuery::Create();
if($url->getParam(3) == '') {
    $servicio = $servQry->findOneByIdservicio(1);
}else{
    $servicio = $servQry->findOneBySlug($url->getParam(3));
}
// Error Line ?
$servicio = $servicio->toArray();

$smarty->assign('servicio',$servicio);
$smarty->display('templates/servicio.tpl');

文件servicio.tpl包含:

<html>
<head>
    {include file="html_head.tpl"}
</head>
<body>
....
<h2>{$servicio.Titulo}</h2>
<div class="span3">
     <img class="borderFoto" src="assets/img/servicios/{$servicio.Slug}.jpg" alt="{$servicio.Slug}.jpg" />
</div>
<div class="span7">
     {$servicio.Descripcion}
</div>
</body>
</html>

html_head.tpl:中

<title>Pilar Medicina Est&eacute;tica</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Arvo' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/style.css">

所以,问题是,Css样式无法加载。使用Firebug显示,打印:而不是打印Css代码

致命错误:调用上的成员函数toArray()中的非对象/media/Datos/www/PilarMedicinaEstetica/owner/servicios.php线15

但是,错误是罕见的,因为数据显示正确,并且$serviciovar_dump没有标记错误:

array(7){["Idservicio"]=>int(1)["Idsitio"]=>int(1"["Titulo"]=>string(15)"Servicio demo 1"["Description"]=>string(979)"Nulla阿库利斯准将。。。eget pellentesque nunc nisi ac sem。"["Slug"]=>string(17)"servicio_demo_uno"["Shares"]=>int(1)["Activo"]=>布尔(true)}

在index.php中,执行相同的步骤,即可工作。为什么不在这里?有什么想法吗?。

错误是我传递了一个错误的slug,查询返回了一个空的集合jiji。

相关文章: