2012-05-11 17 views
1

でSITECONFIG出力のDataObjectが、私はsilverstripeの問題で説明同様の問題を持っている:[http://www.silverstripe.org/dataobjectmanager-module-forum/show/19853][1]Silverstripe:テンプレート

主にタイトル、キャプション、イメージを提供する作業用のDataObjectを持っています。 これはhas_manyに入ります。これはテンプレート出力にスライダーを提供するはずです。

CMSの部分はすべて完了しました。つまり、SiteConfigのタブから複数の「スライド」を追加できます。 テンプレート内の出力だけが発生しないように見えます。コードについて

私が使用します。

SingleSlideがDataObjectの拡張:

すべてからの出力を得ることができるようにされてやって左

$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') 
    ); 
} 

テンプレートの中にあります。 助けがあれば助かります!

よろしく、

ケイ

答えて

1

あなたが好きなものを使用することができ、あなたのssのファイルに続いて、このような

class Page_Controller extends ContentController { 
    ... 
     function SingleSlideList() { 
     return DataObject::get('SingleSlide'); 
     } 
    ... 
} 

以下のようPage.phpにPage_Controllerクラスに機能を追加することができます次のようになります。

<% 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を変更する必要があります必要です。

関連する問題