我无法显示我的pagelist.html.twig(你可以忽略法语单词)



完整的错误消息

:类型错误:传递给Symfony\Bundle\FrameworkBundle\Controller\Controller::render((的参数3必须是Symfony\Component\HttpFoundation\Response的实例,或者为null,给定数组,在C:\examplep\htdocs\tpOne\src\Esprit\ParcBundle\Cntroller\VoitureController.php第41行调用*

list.html.trick

<ul>
{% for marque in marques %}
<li>{{ marque|upper }}</li>
{% else %}
<strong>la liste des marques est vide!</strong>
{% endfor %}
</ul>

路由.yml

esprit_parc_homepage:
path:     /
defaults: { _controller: EspritParcBundle:Default:index }
esprit_parc_affichage:
path:     //afficher/{marque}
defaults: { _controller: EspritParcBundle:Voiture:affichage }
esprit_parc_list:
path:     /listvoiture
defaults: { _controller: EspritParcBundle:Voiture:list }

Voiture.controller.php

<?php
namespace EspritParcBundleController;
use SymfonyBundleFrameworkBundleControllerController;
use SensioBundleFrameworkExtraBundleConfigurationRoute;
use SymfonyComponentHttpFoundationResponse;
class VoitureController extends Controller
{
/**
* @Route("/affichage/{marque}")
*/
public function affichageAction($marque)
{
return $this->render("@EspritParc/Voiture/affichage.html.twig", array('marque'=>$marque
// ...
));
}
public  function listAction()  {
//array
$marques=array('BMW','RENAULT','PEUGEOT','FIAT');
$voitures=array(
array(
'id'=>'c2345',
'serie'=>'176',
'dateMiseCirculation'=>'11/10',
'marque'=>'BMW' ),
array(
'id'=>'A2345',
'serie'=>'156',
'dateMiseCirculation'=>'23/06',
'marque'=>'Renault' ),
array(
'id'=>'w0308',
'serie'=>'160',
'dateMiseCirculation'=>'30/08',
'marque'=> 'Fiat')
);
return $this->render("@EspritParc/Voiture/list.html.twig",array('marques'=>$marques),array('voitures'=>$voitures));
}
}

我找到了一个解决方案。问题出在VoitureController.php中。render应该这样写:

return $this->render("@EspritParc/Voiture/list.html.twig", array(
'marques'=>$marques,
'voitures'=>$voitures
));

最新更新