2010-03-02 3 views
1

언급 된 플러그인의 로그인 양식이 기본 레이아웃을 사용하지 못하게하려면 어떻게해야합니까? 나는 this question을 알고 있지만 그 대답은 나에게 효과가 없습니다. 처음에는 모듈 디렉토리에 모듈이 없다. 아마 플러그인이 그것을 다른 방식으로 처리 할 것이다. 심포니를 배우는 것. 미리 감사드립니다 :)Symfony의 sfDoctrineGuardPlugin 레이아웃을 비활성화하십시오

답변

1

다른 레이아웃을 설정하려면 "sfGuardAuth"라는 모듈을 추가해야합니다./config/디렉토리에서 다른 모듈과 마찬가지로 view.yml의 레이아웃을 변경하십시오. "사용자 정의 sfGuardAuth 모듈 작업"섹션에서 ...

http://www.symfony-project.org/plugins/sfDoctrineGuardPlugin/4_0_0

:이 설명되어 있습니다. 당신이 "포함"하고 싶은 경우

그러나, 기존의 다른 페이지에서 로그인 폼, 당신은 구성 요소에 로그인을 돌 수 있었다 -. 그것에서 발생하는 페이지의 기존 레이아웃을 사용하는 의미

구성 요소 정의 모듈 액션 모든 구성 요소는 같은 도면과 같은 부분을 사용

public function executeSigninLightbox(sfWebRequest $request) 
{ 
    $class = sfConfig::get('app_sf_guard_plugin_signin_form', 'sfGuardFormSignin'); 
    $this->form = new $class(); 
} 

.... 이제 partial은 표준 로그인 페이지처럼 $ form에 액세스 할 수 있습니다. 이 부분을 "_signinLightbox"라고합니다.

희망이 있습니다.

1

지금은 사용자 정의 view.yml을 통해 일부 sfGuardAuth 작업에 대한 맞춤 레이아웃을 설정할 수 없습니다.
이것은 내가 그랬던 방식입니다.
이것은 내 apps/backend/modules/sfGuardAuth/actions/actions.class.php :

<?php 

require_once(sfConfig::get('sf_plugins_dir').'/sfDoctrineGuardPlugin/modules/sfGuardAuth/lib/BasesfGuardAuthActions.class.php'); 

class sfGuardAuthActions extends BasesfGuardAuthActions 
{ 
    public function preExecute() 
    { 
     $layout = $this->getActionName() == sfConfig::get('sf_login_action') ? 'sfGuardLayout' : $this->getLayout(); 
     $this->setLayout($layout); 
    } 
} 
입니다.