Hey Adrian
It seems you cant use FileDataObjectManager in this way, but you can use regular DataObjectManager to do the same thing, ie;
<?php
class CaseStudy extends Page {
static $has_many = array ('CaseStudyImages' => 'CaseStudy_Image');
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Object",$manager = new DataObjectManager($this,'CaseStudyImages','CaseStudy_Image',array('Name' => 'Name','CMSThumbnail'=>'Preview'),'getCMSFields_forPopup',null,"Name Asc"));
return $fields;
}
}
class CaseStudy_Image extends DataObject
{
static $db = array (
'Name' => 'Varchar'
);
static $has_one = array (
'Attachment' => 'Image',
'Thumbnail' => 'Image',
'CaseStudy' => 'CaseStudy'
);
public function getCMSFields_forPopup()
{
return new FieldSet(
new ImageField('Thumbnail'),
new TextField('Name'),
new ImageField('Attachment')
);
}
function CMSThumbnail() {
if ($image=$this->Thumbnail())return $image->CMSThumbnail();
return null;
}
}
This should work regardless of what version you have