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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

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

Preview: DataObjectManager module


Go to End


379 Posts   95933 Views

Avatar
hu

Community Member, 21 Posts

9 April 2009 at 12:30am

@amir.mostofi

Try

...
   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
         array(
            'Name' => 'Name',
            'URL' => 'URL'
         ), // Headings
         'getCMSFields_forPopup', // Detail fields (function name or FieldSet object)
         "PageID = {$this->ID}" // Filter clause
         // Sort clause
         // Join clause
      );
      $manager->setParentClass('Page');
...

Avatar
drye

Community Member, 49 Posts

9 April 2009 at 12:35am

amir.mostofi,

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 http://ryedesigns.com

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.

Avatar
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).

Avatar
drye

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.

Avatar
UncleCheese

Forum Moderator, 4102 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.

Avatar
hu

Community Member, 21 Posts

9 April 2009 at 3:22am

@amir.mostofi

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 ?

Avatar
vstrazz

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.

Avatar
UncleCheese

Forum Moderator, 4102 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!

Go to Top