2013-04-18 4 views
0

저는 symfony2를 처음 사용하고 있으며 며칠 동안 문제를 파악하기 위해 열심히 노력하고 있습니다. 내 컨트롤러는컨트롤러의 Symfony2 @template

<?php 

namespace Myname\AdminBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; 

class DefaultController extends Controller 
{ 
    /** 
    * @Route("/admin/{type}/{nav}", defaults={"nav"="nil"}) 
    * @Template("MyBundle::index.html.twig") 
    */ 
    public function indexAction($type, $nav) 
    { 
     return array('type' => $type, 'nav' => $nav); 

    } 

    /** 
    * @Route("/myLink/accounts", name="page_accounts") 
    * @Template("MyBundle::accounts.html.twig") 
    */ 
    public function accountsAction() 
    { 
     return $this->render('MyBundle::accounts.html.twig'); 
    } 
} 

입니다하지만이 직면하고있는 문제는 지금까지, 그것은 첫 번째로 정의 된 템플릿을 사용하고 내가 사용하려고 연결하고 두 번째 템플릿이 렌더링되지 않는 것이다. 하지만 코드에서 첫 번째 템플릿을 제거하면 두 번째 템플릿이 완벽하게 작동합니다. 내가 지난 4 일 동안 붙어있어서 어떤 의견이라도 정말 좋을 것이다. 미리 감사드립니다.

+0

해당 작업을 호출하는 방법을 게시 하시겠습니까? 또한 각 작업을 호출하여 호출되는 URL입니다. – DerStoffel

답변

0

문제를 완전히 이해하고 있는지 잘 모르겠습니다. 그러나 컨트롤러에 몇 가지 문제가 있으며 @Template 주석을 사용하는 방법이 있다고 생각합니다.

먼저 기본 규칙을 따르는 경우 사용할 템플릿을 지정하지 않아도됩니다. 또한 @Template 주석을 사용할 때 배열을 반환해야합니다.

이 모두가 도움이되거나 관련이 없다면 좀 더 명확하게 설명해 주시겠습니까?

class DefaultController extends Controller 
{ 
    /** 
    * @Route("/admin/{type}/{nav}", defaults={"nav"="nil"}) 
    * @Template 
    */ 
    public function indexAction($type, $nav) 
    { 
     return array('type' => $type, 'nav' => $nav); 

    } 

    /** 
    * @Route("/myLink/accounts", name="page_accounts") 
    * @Template 
    */ 
    public function accountsAction() 
    { 
     return array(); 
    } 
}