2010-07-10 2 views
1

다음은 진행 상황입니다. 3 열 레이아웃의 모듈 렌더링 (기본값이라고 생각되는)에 대한 페이지 내용이 있고 1 열에 렌더링하려고하지만, 어떻게하는지. Magento - 페이지 레이아웃 지정에 대한 도움말

긴 버전

: 나는 Unirgy의 수송선 마이크로 사이트를 사용하고 있는데 나는 1 열 레이아웃에서 렌더링하는 공급 업체의 방문 페이지를 얻기 위해 노력하고있어. 내 레이아웃 XML 파일은 다음과 같습니다 흥미로운 무엇

<?xml version="1.0"?> 
<layout> 
    <udropship_vendor_login> 
     <reference name="login_links"> 
      <action method="addLink" translate="label title" module="umicrosite"> 
       <label>Register New Account</label> 
       <url helper="umicrosite/getVendorRegisterUrl"/> 
       <title>Register New Account</title><prepare/> 
       <urlParams/> 
       <position>20</position> 
      </action> 
     </reference> 
    </udropship_vendor_login> 

    <umicrosite_vendor_register> 
     <update handle="udropship_vendor" /> 
     <reference name="content"> 
      <block type="directory/data" template="unirgy/microsite/vendor/register.phtml" name="register" /> 
     </reference> 
    </umicrosite_vendor_register> 

    [..removed unrelated xml..] 

    <umicrosite_index_index> 
     <reference name="content"> 
      <block type="core/template" template="unirgy/microsite/home.phtml" name="vendorHome" /> 
     </reference> 
    </umicrosite_index_index> 
</layout> 

이 umicrosite_vendor_register 1 열에서 렌더링하는,하지만 umicrosite_index_index은 기본 3 열 레이아웃에서 렌더링합니다. umicrosite_vendor_register와 일치시키기 위해 블록 유형을 디렉토리/데이터로 변경하려고 시도했지만 작동하지 않았습니다.

내 인 IndexController은 매우 간단합니다 :

$this->loadLayout()->renderLayout(); 

나는 자기가 1 열과 3 열에 렌더링 인덱스 페이지에서 렌더링 할 수있는 등록 페이지를 알려줍니다 어디에 내가 무엇을 누락하는 것 같다. 나는 하루 종일이 일이 어디서 발생하는지 알아 내려고 노력했지만 아무 소용이 없습니다.

어디서 볼까요?

답변

4

당신은 레이아웃 업데이트 XML이 같은 것을 추가해야합니다 :

<reference name="root"> 
    <action method="setTemplate"> 
    <template>page/1column.phtml</template> 
    </action> 
</reference> 

또한 코드에서 그것을 할 수있는 다음 코드로 :

$root = $this->getLayout()->getBlock('root'); 
$template = "page/1column.phtml"; 
$root->setTemplate($template); 
+1

덕분에 완벽하게 작동, 감사합니다! <참조 이름 = "루트"> <액션 메소드 = "setTemplate"> : 이 (다른 사람이 호기심 경우) 내 XML에 함께 결국 무엇인가 <참조 이름 = "콘텐츠"> <블록 타입 = "코어/템플릿"템플릿 = "unirgy/마이크로/home.phtml 'NAME ="vendorHome "/> Mike