Я не могу показать свой pagelist.html.twig (вы можете игнорировать французские слова) - PullRequest
0 голосов
/ 30 октября 2018

Полное сообщение об ошибке

: ошибка ype: аргумент 3, передаваемый в Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller :: render (), должен быть экземпляром Symfony \ Component \ HttpFoundation \ Response или задан нулевой массив, вызываемый в C: \ xampp \ htdocs \ tpOne \ src \ Esprit \ ParcBundle \ Controller \ VoitureController.php в строке 41 *

list.html.twig

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

routing.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 Esprit\ParcBundle\Controller;

    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
    use Symfony\Component\HttpFoundation\Response;

    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));
        }

    }

1 Ответ

0 голосов
/ 30 октября 2018

Я нашел решение. Проблема в VoitureController.php. render должно быть написано так:

return $this->render("@EspritParc/Voiture/list.html.twig", array(
    'marques'=>$marques,
    'voitures'=>$voitures
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...