2012-05-11 2 views
1

Siteconfig의 출력의 데이터 객체는 I는 silverstripe 문제에 기술 된 것과 유사한 문제가있다 : [http://www.silverstripe.org/dataobjectmanager-module-forum/show/19853][1]Silverstripe : 템플릿

나는 주로 제목, 캡션 및 이미지를 제공하는 작업 DataObject를 가지고있다. 이것은 has_many에 들어갑니다. 이것은 템플릿 출력에 슬라이더를 제공해야합니다.

CMS 부분이 모두 완료되었습니다. 즉, SiteConfig의 탭에서 여러 개의 '슬라이드'를 추가 할 수 있습니다. 템플릿의 출력 만 발생하지 않습니다. 코드에 대한

내가 사용

SingleSlide는 데이터 객체 확장 :

모두에서 출력을 얻을 수있다 할 왼쪽

$fields->addFieldToTab('Root.SliderA', new ComplexTableField(
     $this->owner, 'SliderA', 'SingleASlide', 
     array('SlideImg' => 'Afbeelding van slide', 'SlideTitle' => 'Titel van Slide', 'SlideCaption' => 'Tekst bij slide', 'SlideLink.Title' => 'Link naar pagina' 
    ))); 
SiteConfigOverride에서
public function getCMSFields_forPopup() 
{ 
    return new FieldSet(
     new ImageUploadField('SlideImg', 'Afbeelding van slide'), 
     new TextField('SlideTitle'), 
     new TextField('SlideCaption'), 
     new SimpleSiteTree('SlideLinkID') 
    ); 
} 

여기 템플릿에. 도움이 될 것입니다!

감사합니다,

케이

당신은 그런 다음 SS 파일에, 당신은 같은 것을 사용할 수 있습니다
class Page_Controller extends ContentController { 
    ... 
     function SingleSlideList() { 
     return DataObject::get('SingleSlide'); 
     } 
    ... 
} 

아래로 Page.php에 Page_Controller 클래스에 기능을 추가 할 수 있습니다

답변

1

다음 :

<% control SingleSlideList %> 
    <div class="Image"><% control SlideImg %><% control CroppedImage(880,493) %><img src="$BaseHref$Filename.XML" height="$Height" width="$Width"><% end_control %><% end_control %></div> 
    <div class="Content"> 
     <h2>$SlideTitle</h2> 
     <p>$SlideCaption</p> 
     <p><a href="$SlideLinkID.Link">my link</a></p> 
    </div> 
<% end_control %> 

당신은 당신과 함께 일하기 위해 html을 변경해야합니다. 필요.

관련 문제