2009-06-29 4 views
1

나는 SilverStripe 포럼에서이 질문을했지만 하루 만에 들어 보지 못했습니다. http://silverstripe.org/customising-the-cms/show/263604#post263604SilverStripe의 탐색 메뉴 사용자 정의

저는 정적 PHP 기반 사이트 + Wordpress를 SilverStripe로 마이그레이션하는 과정에 있습니다.

정적 페이지에서 헤더 자체를 맞춤 설정합니다. Google에는 두 가지 유형의 로그인이 있습니다. 고객 및 제휴사.

<? require("_header_top.html"); ?> 
<? if (isset($display_affiliate_link) && $display_affiliate_link == true) { 
require("_header_middle_affiliate.html"); 
} else { 
require("_header_middle.html"); 
} ?> 
<? require("_header_bottom.html"); ?> 

이 제휴 및 고객 섹션 사이의 탐색 메뉴의 유일한 차이점입니다 :

정적 사이트에서

오늘, 우리는 같은 것을 할.

다른 레이아웃 경로를 시도했습니다. 그러나 레이아웃을 보면이 레이아웃을 제외하고는 99 % 같은 것으로 보입니다.

다음과 같은 해킹을 시도했지만 제대로 작동하지 않았습니다.

<% if MenuTitle = Affiliate %> 
<a href="/affiliate_login>affiliate login</a> 
<% end_if %> 
<a href="/subscriber_login>subscriber login</a> 

이것을 더 우아하게 구현하거나 더 나은 방법으로 구현할 수있는 방법에 대한 제안 사항은 무엇입니까? 비 크람이

답변

1

나는 당신이 무슨 짓을했는지와 잘못을 이해하지 못하는

... 다른 해결 방법은 다음과 같습니다

  • 가 위해, 당신의 SiteTree 페이지 개체에 대해 "형식"속성을 추가 고객과 계열사간에 분리
  • SiteTree 객체의 컨트롤러 내에서 배열 또는 객체를받는 "customize"함수를 사용할 수 있으며 컨트롤러 내에서 사용할 수있는 "renderWith"함수를 호출하여 배열/객체를 템플릿 파일로 렌더링 할 수도 있습니다 (.SS 파일). 이렇게하면 고객 및 제휴사의 레이아웃이 다른 .SS 파일로 분리됩니다.