First post, so go easy on me... ;)
I'm having a strange issue with a class derived from DataObject and a SimpleTreeDropdownField. Here's the code:
class HomePage extends Page {
static $has_many = array(
'Spotlights' => 'Spotlight'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Content.Focus', new DataObjectManager(
$this,
'Spotlights',
'Spotlight',
array('LinkID' => 'Linked Page', 'LinkImageID' => 'Link Image'),
'getCMSFields_forPopup')
);
return $fields;
}
}
class Spotlight extends DataObject {
static $has_one = array(
'Link' => 'SiteTree',
'LinkImage' => 'Image'
);
function getCMSFields_forPopup() {
return new FieldSet(
new SimpleTreeDropdownField('LinkID', 'Page to link to', 'SiteTree'),
new ImageField('LinkImage', 'Link image')
);
}
}
I get the DataObjectManager in the CMS back-end, but when I try to add an entry, I do not get the SimpleTreeDropdownField. If I change 'LinkID' to 'Link' in the SimpleTreeDropdownField call the control shows up but anything I select does not get saved to the DB (obviously).
What am I doing wrong?
I'm using SS 2.4.0.
Thanks,
Ulrich