Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模板因不存在php错误而失败_Php_Smarty_Propel - Fatal编程技术网

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

模板因不存在php错误而失败,php,smarty,propel,Php,Smarty,Propel,我和斯派尔和斯马特一起工作。我有一个servicios.php文件,它只包含: include('private/autoload.php'); // Servicios Todos $servicios = ServicioQuery::Create()->orderByTitulo(Criteria::ASC)->find()->toArray(); $smarty->assign('servicios',$servicios); // Servicio a mo

我和斯派尔和斯马特一起工作。我有一个
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');
<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>
文件
servicio.tpl
包含:

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');
<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>
所以,问题是,Css样式无法加载。使用Firebug show,不打印Css代码,而是打印:

致命错误:调用上的成员函数toArray() 非宾语 /media/Datos/www/pilarmediinaestica/owner/servicios.php on 第15行

但是,由于数据显示正确,且
$servicio
var_dump
不标记错误,因此错误很少:

数组(7){[“idServiceIO”]=>int(1)[“idstiti”]=>int(1)[“Titulo”]=> 字符串(15)“服务演示1”[“描述”]=>字符串(979)“空值 艾库利斯·艾格特·佩伦茨克·努克·尼西·艾库利斯·埃格特·佩伦茨克·努克·尼西·艾库利斯。” [“Slug”]=>string(17)“servicio_demo_uno”[“Shares”]=>int(1) [“Activo”]=>bool(真)}


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

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

调用非对象上的成员函数toArray()
您的对象不是对象,而是数组?@Bondye
$servicio
是“servicio”类的对象。如果我尝试传递对象,Smarty会说:致命错误:无法在…中使用Servicio类型的对象作为数组,而不是使用
{$Servicio.Titulo}
无法传递对象而不是创建数组。像这样
{$servicio->Titulo}
?否则,请尝试在
$servicio->toArray()前后打印($servicio)
,并进行比较。