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

Preview: DataObjectManager module


379 Posts   61943 Views


Community Member, 21 Posts

9 April 2009 at 12:30am



public function getCMSFields()
$f = parent::getCMSFields();
$f->addFieldToTab("Root.Content.HeaderImage", new ImageField('HeaderImage'));
$manager = new FileDataObjectManager(
$this, // Controller
'ImageAttachments', // Source name
'ImageAttachment', // Source class
'Attachment', // File name on DataObject
'Name' => 'Name',
'URL' => 'URL'
), // Headings
'getCMSFields_forPopup', // Detail fields (function name or FieldSet object)
"PageID = {$this->ID}" // Filter clause
// Sort clause
// Join clause


Community Member, 49 Posts

9 April 2009 at 12:35am


It may be possible you have some other issues, maybe you have bad module code? Maybe you have an error some where else. I have a production site using this exact code at

Each page has their own images. No work required that is the point of the page relationship in your DataObject.

I'm sorry I can't be of further assistance. Again, Good Luck.

Amir Mostofi

Community Member, 59 Posts

9 April 2009 at 12:50am

Hu, that's the code I am using now and it's not working!!!

Drye, I'm using the latest code (r107) so I don't think it's bad module code.
In your case, did you use FileDataObjectManager / ImageDataObjectManager on classname Page or did you subclass Page? The reason for this question is because I have FileDataObjectManager working when I subclass Page (e.g. class PartnerPage extends Page).


Community Member, 49 Posts

9 April 2009 at 1:00am

ImageDataObjectManager, like I changed it to in pastie code. However I did subclass page. Maybe you should try this as a subclass and make sure it functions or not, to remove any suspicion.


4085 Posts

9 April 2009 at 1:22am

Whoa.. lots of developments since last night. Many thanks to Drye and Hu for stepping in on support.

There's a lot to take in among all of those posts, so would someone mind posting a synopsis of what bug exists, if any, and how you resolved it? I can issue a patch today if I can get a clear idea of what's going on. Thanks.


Community Member, 21 Posts

9 April 2009 at 3:22am


I did a test with your code. Everything is fine.
I also tested the situation without ->setParentClass and empty filter. Everything is fine.

Did you rebuild the database ?


Community Member, 63 Posts

9 April 2009 at 6:24am

Edited: 09/04/2009 6:25am

Great work Uncle Cheese! I've installed the module and it's running great.

I was wondering if there is an easy way to add export functionality to DataObjectManager since it extends ComplexTableField?

Thanks again for quite possibly the best addition to Silverstripe thus far.


4085 Posts

9 April 2009 at 6:32am

I imagine it's really easy to implement. I've never used the export feature of CTF, so that's why I skipped over it. Probably just a matter of adding a button with the right action. Unless you wanted to be able export a custom view, e.g., after filting, sorting, or searching on the recordset. That would be cool!