2014-01-19 2 views
2

스타일 시트 등록 (이미 일부 fields.html.twig를 추가하여 일부 위젯을 변경하고 전역 적으로로드) 스타일을 적용했지만 html 태그가 렌더링 될 때 스타일이 로그인 양식 요소에 적용되지 않습니다. 여기서 직접 Symfony의 도우미를 사용하지 마십시오. 폼 변수를 얻기 위해 FOS 보안 컨트롤러를 다시 작성해야합니까?Symfony2 FOSUserBundle 로그인 폼 스타일링

답변

0

현재 SecurityController:renderLogin 작업은 FormView 인스턴스를 포함하는 변수를 반환하지 않습니다.

양식의 HTML 코드 (따라서 스타일을 지정할 수있는 클래스)가 로그인 템플릿에 하드 코드됩니다.

HTML 코드가 포함 된 템플릿을 재정의하기위한 다음과 같은 두 가지 옵션이 있습니다.

1) 응용 프로그램에서 템플릿을 오버라이드 (override)/자원/FOSUserBundle

당신은 단순히

app/Resources/FOSUserBundle/views/Security/ 

그냥 당신이 포함되어 있는지 확인 폴더에 login.html.twig으로 바꾸어 템플릿 FosUserBundle:Security:login.html.twig을 무시할 수

...

{% extends "FOSUserBundle::layout.html.twig" %} 

... 새로 생성 된 템플릿에 있습니다.

2) 번들 상속

템플릿을 무시하는 또 다른 방법을 사용하여 템플릿을 오버라이드 (override)는 번들 상속을 사용하는 것입니다.

그러므로 을 getParent() 메서드로 반환하여 FOSUserBundle을 확장하는 새 번들을 생성합니다.

class ExtendingBundle extends Bundle 
{ 
    public function getParent() 
    { 
     return 'FOSUserBundle'; 
    } 
} 

app/AppKernel.php에 번들을 등록하는 것을 잊지 마십시오.

이제 documentation에서 템플릿 상속 대해 자세히 알아

src\Vendor\ExtendingBundle\Resources\views\login.html.twig 

문서

에서 새 login.html.twig 템플릿을 저장할 수 있습니다.

+1

그래, 가능하다고 생각하고 이미 등록 양식을 작성했습니다. 그렇다면 로그인 양식에 symfony의 도우미 (글로벌 스타일을 사용할 수 있도록)를 어떻게 사용할 수 있습니까? 적절한 방법은 무엇입니까? – bargoras

관련 문제