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.

Data Model Questions

inherit dataobject ( or something)


Reply

17 Posts   3363 Views

Avatar
swaiba

24 February 2011 at 10:33pm Forum Moderator, 1796 Posts

Are you still using HasOneDataObjectManager & HasManyDataObjectManager?
Or are the screen prints now from mainly scaffolded FieldSet?

Because what you are asking for is what I would expect when ModelAdmin does the work, but the problem you describe sounds like you are building them yourself...

Avatar
Stefdv

25 February 2011 at 4:53am Community Member, 110 Posts

Swaiba,

Yes, i am using HasOneDataObjectManager & HasManyDataObjectManager...What i understand from your question is that i'm handling this the wrong way??

---------------------------------------------------

//Stamboom
      $fields->addFieldToTab("Root.Stamboom", new HasOneDataObjectManager(
                         $this,
                         'Stamboom',
                         'Stamboom'
                         )
                      );
      //Showresultaten
      $fields->addFieldToTab("Root.Showresultaten", new HasManyDataObjectManager(
                         $this,
                         'Showresultaten',
                         'Showresultaat'
                         )
                      );

------------------------------------------------------------------------------------------------------------------------

Avatar
swaiba

25 February 2011 at 6:09am (Last edited: 25 February 2011 6:10am), Forum Moderator, 1796 Posts

Well, I wouldn't say it was the wrong way, just the DOM way ;-)

Firstly DOM functions are not silverstripe - if they don't work then the only place to ask for help in the section UncleCheese moderates - DataObjectManager. For this reason I do not use it - instead I stick close to the core.

Secondly the silverstripe API HasManyComplexTableField & HasOneComplexTableField (which DOM builds on top) are there to use and I have occasionally added one of these - BUT with your dataobjuects set up correctly - then these are scaffolded for you - why write the code again yourself?

I recommend you drop each one of your getCMSFields function from the data objects and see how ModelAdmin scaffolds it all, then change what you want changed...

Avatar
Stefdv

25 February 2011 at 8:41am Community Member, 110 Posts

Swaiba,

Thank u so much !!!

This totally changes the way i work with SS. I think i finnaly got it...(well...there will be questions in the future ;) )
Now i understand what you mean with adding fields and pushing them to other tabs.

That Modeladmin thing is great...i used everything at once ( DOM and ModelAdmin ), when in fact the modeladmin does it right.

TX

Avatar
swaiba

25 February 2011 at 10:45pm Forum Moderator, 1796 Posts

you are very welcome - ModelAdmin was when I started to like silverstripe alot - since I often build web applications the CRUD of data is very important and important to be able to prototype and get something running as soon as possible - write less code get more functionality - thank you silverstripe!

Avatar
Stefdv

26 February 2011 at 12:40am Community Member, 110 Posts

Swaiba,

Is it possible to show all datobjects in modeladmin at once instead of per 10 ? ( I mean like default )

Avatar
swaiba

26 February 2011 at 12:44am (Last edited: 26 February 2011 12:49am), Forum Moderator, 1796 Posts

sure check this out... http://open.silverstripe.org/ticket/5665
..it has a couple of modeladmin improvements in it, including what you ask for :)

oh and if you want to change the number of results put "$this->setPageSize(15);" in your init (at the end of the dataobject init) - I don't advise putting 999999 into it to show all as this can lead a rather odd looking screen for large numbers of results

a.u.b.

Avatar
Stefdv

26 February 2011 at 12:59am Community Member, 110 Posts

Swaiba,

I'm sorry you had to stumble on me :(

I'm not sure what you mean with the DataObject Init...Do i have to make a function Init, in my DataObject ?