2015-09-18 5 views
0

У меня есть функция в моем контроллере, как это:Почему Symfony не может найти шаблон, вынесенный в другой функции

<?php 

namespace GradeBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 
use Symfony\Component\HttpFoundation\Response; 
use Symfony\Component\HttpFoundation\Session\Session; 
use GradeBundle\Entity\User; 
use GradeBundle\Entity\SchoolClass; 

class MainController extends Controller 
{ 
/** 
* @Route("/", name="index_page") 
*/ 
public function index() 
{ 

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

} 

Это делает шаблон прут правильно. Однако, когда я использую другую функцию:

/** 
    * @Route("/adminNew", name="add_admin") 
    */ 

    public function addAdmin() 
    { 
     $session = new Session(); 

     if($session->get('loggedIn') == null) 
     return $this->redirect($this->generateUrl('index_page')); 
     else 
     return $this->render('GradeBundle:Add:newAdmin.html.twig'); 

    } 

Я следующее сообщение об ошибке:

Unable to find template "GradeBundle:Default:index.twig.html". 

Кто-нибудь есть какие-либо идеи, что может быть не так?

+0

не должна быть indexAction и addAdminAction? –

ответ

0

Это опечатка где вы звоните шаблон:

GradeBundle:Default:index.twig.html 

Но у вас есть только GradeBundle:Default:index.html.twig шаблон.

Примечание разница: html.twigtwig.html

Я подозреваю, что вы расширяете его в GradeBundle:Add:newAdmin.html.twig по:

{% extends 'GradeBundle:Default:index.twig.html' %} 

, но должно быть:

{% extends 'GradeBundle:Default:index.html.twig' %}  
0

Вы использовали правильное пространство имен для используемого контроллера? И вы включаете правильные файлы? Также я не уверен, что правильно понял вопрос - говорите ли вы, добавляете ли вы еще одну функцию с другим рендерингом файла twig, первый из них больше не отображается? Могу ли я увидеть ваши имена классов и операторы namespaces/use?

Обычно в этих случаях шаблоны находятся не в том месте, или правильный файл не включен для его поиска.

Майкл

 Смежные вопросы

  • Нет связанных вопросов^_^