我有一个与银条问题类似的问题:[http://www.silverstripe.org/dataobjectmanager-module-forum/show/19853][1]
我有一个工作的数据对象,主要提供标题,标题和图像。这在一个has_many中,它应该在模板输出中提供一个滑块。
CMS 部分已完成,这意味着我可以从 SiteConfig 中的选项卡添加多个"幻灯片"。只有模板中的输出似乎不会发生。
对于我使用的代码:
SingleSlide 扩展了 DataObject:
public function getCMSFields_forPopup()
{
return new FieldSet(
new ImageUploadField('SlideImg', 'Afbeelding van slide'),
new TextField('SlideTitle'),
new TextField('SlideCaption'),
new SimpleSiteTree('SlideLinkID')
);
}
在站点配置覆盖中
$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'
)));
剩下要做的就是能够在模板中从此处获取输出。任何帮助都会很棒!
问候
凯
您可以在 Page 中向 Page_Controller 类添加一个函数.php如下所示
class Page_Controller extends ContentController {
...
function SingleSlideList() {
return DataObject::get('SingleSlide');
}
...
}
然后在您的 ss 文件中,您可以使用如下所示的内容:
<% 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 以使用所需的内容。