2017-04-11 4 views
0

symfony 3.2 프로젝트에서 사용자 등록 및 인증을 위해 FOSUserBundle을 사용하고 있습니다. 내가하려는 것은 등록 양식에 사용자 정의 테마를 적용하는 것입니다. * Symfony2: How to extend a Bundle? *에서 볼 수 있듯이symfony FosUserBundle이 다른 번들의 기본 템플릿에서 확장됩니다.

{% extends AppBundle::base.html.twig %} 

{% body %} 
    {% block fos_user_content %} 
    {% endblock fos_user_content %} 
{% endblock body %} 

:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>{% block title %}Welcome!{% endblock %}</title> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 

     {% block stylesheets %} 
      <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/bootstrap/css/bootstrap.css')}}" ></link> 
      <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/adminlte/adminlte.css')}}" ></link> 
      <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/adminlte/skin-blue.css')}}" ></link> 
     {% endblock %} 
     <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> 

     {% block javascriptsHeader %} 

     {% endblock %} 

    </head> 
    <body class="{{ classes }}"> 
     {% block body %} 
     {% endblock body %} 

     {% block javascriptsFooter %} 

     {% endblock javascriptsFooter %} 
    </body> 
</html> 

나는 또한 다음과 같은 내용으로 Resources/FOSUSerBundle/views/layout.html.twig을 변경 한 :

그러므로 나는 내 응용 프로그램의 기본 템플릿입니다 app/Resources/views/base.html.twig을 만들었습니다 http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_templates.html

하지만 다음 오류가 발생합니다.

Unexpected token "punctuation" of value ":" ("end of statement block" expected). 

서식 파일에서 기본 서식 파일을 사용하는 방법을 알고 있습니까?

답변

1

extends에 잘못된 문자열이 있습니다.

{% extends AppBundle::base.html.twig %} 

{% extends '::base.html.twig' %} 

에 변경하고 그것을 작동합니다.

참고 : ::base.html을 사용하면 템플릿 엔진에서 base.htmlapp/Resources/views/base.html.twig으로 찾습니다. AppBundle::base.html.twig 설정이 잘못되었습니다. 템플릿이 번들 (예 : AppBundle - src/AppBundle)에있는 경우 경로는 @AppBundle/base.html.twig과 비슷할 것입니다.