Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, biapar, Willr, Ingo, swaiba, simon_w

SimpleTreeDropdownField for a DataObject


Reply


2 Posts   2203 Views

Avatar
uli

Community Member, 2 Posts

5 June 2010 at 2:32am

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

Avatar
uli

Community Member, 2 Posts

5 June 2010 at 3:12am

Never mind... the solution is in [url=http://www.silverstripe.org/dataobjectmanager-module-forum/show/266586#post266586]this[/url] post.