Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to find template in Symfony 3

I know that there are a lot of subject like that however I didn't find the solution

I have this issue

Unable to find template "CoreBundle:index.html.twig" (looked into: /var/www/html/MyProject/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form).

This is the architecture enter image description here This is my controller

<?php

namespace CoreBundle\Controller;

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

class DefaultController extends Controller
{
    /**
     * @Route("/", name="index")
     */
    public function indexAction(Request $request)
    {
        return $this->render('CoreBundle:index.html.twig');
    }

    /**
     * @Route("/ma-personnalite", name="ma-personnalite")
     */
    public function mapersonnaliteAction(Request $request)
    {
        return $this->render('CoreBundle:ma_personnalite.html.twig');
    }

    /**
     * @Route("/cv", name="cv")
     */
    public function cvAction(Request $request)
    {
        return $this->render('CoreBundle:cv.html.twig');
    }

    /**
     * @Route("/scolaires", name="scolaires")
     */
    public function scolairesAction(Request $request)
    {
        return $this->render('CoreBundle:scolaires.html.twig');
    }

    /**
     * @Route("/extra-scolaires", name="extra-scolaires")
     */
    public function extrascolairesAction(Request $request)
    {
        return $this->render('CoreBundle:extra_scolaires.html.twig');
    }

    /**
     * @Route("/contact", name="contact")
     */
    public function contactAction(Request $request)
    {
        return $this->render('CoreBundle:contact.html.twig');
    }
}

This is the config.yml

#app/config/routing.yml
core:
    resource: "@CoreBundle/Controller/"
    type:     annotation
    prefix:   /

Thanks for your time

like image 618
N.Jourdan Avatar asked Jun 10 '17 18:06

N.Jourdan


3 Answers

According to the Symfony 3 Docs it's better to use slashes and to not use "Bundle" word.

So, we have as example:

return $this->render('@BloggerBlog/Default/index.html.twig');
like image 102
Deadpool Avatar answered Nov 19 '22 16:11

Deadpool


try to change this:

return $this->render('CoreBundle:index.html.twig');

to this:

return $this->render('CoreBundle::index.html.twig');

The difference is to use :: instead of :

like image 38
Alessandro Minoccheri Avatar answered Nov 19 '22 18:11

Alessandro Minoccheri


This helped me in my case: @Core/index.html.twig

like image 30
Dimitri Lukashuk Avatar answered Nov 19 '22 16:11

Dimitri Lukashuk