Jump to:

7935 Posts in 1536 Topics by 943 members

DataObjectManager Module

SilverStripe Forums » DataObjectManager Module » DOM for Pages - how to set ParentID upon write?

Discuss the DataObjectManager module, and the related ImageGallery module.

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

Page: 1
Go to End
Author Topic: 589 Views
  • KINKCreative
    Avatar
    Community Member
    56 Posts

    DOM for Pages - how to set ParentID upon write? Link to this post

    I am setting up a DOM for Articles under a Category page. When added via the DOM, I want the Articles to become children of the Category, and I will have them hidden from SiteTree. As they are added via the DOM, to set the ParentID to the ID of the Category and I need help with this.

    I tried this... but it's not working.

    class Article extends Page {

    static $db = array(
       'Subtitle' => 'Varchar(60)',
       'Summary' => 'Text',
       'Author'=>'Text'
    );
       static $has_one = array(
          'Category' => 'Category'
       );
       
       static $allowed_children = array('None');
       
       
       static $defaults = array(
          'ShowInMenus' => false,
          'ShowInSearch' => false
       );
       
       function onBeforeWrite() {
          if(!$this->ID) {
             $this->ParentID = $this->Category()->ID;
          }
          parent::onBeforeWrite();
       }
    }

    Should I use setParent()?

    I'm also wondering - the CategoryID (from $has_one) and ParentID will eventually be the same (once we figure it out), not sure if both are needed or if there's a way for DOM to seek ParentID and not need the $has_one reference.

  • UncleCheese
    Avatar
    4085 Posts

    Re: DOM for Pages - how to set ParentID upon write? Link to this post

    DOM is for managing DataObject subclasses -- not SiteTree. If you're looking for an alternative to the tree for managing your pages, you might check out my tutorial "Remodel Admin" on my blog.

    http://www.leftandmain.com/uncategorized/2011/02/25/taming-the-beast-remodeling-modeladmin/

    --------------------
    SilverStripe tips, tutorials, screencasts and more: http://www.leftandmain.com

    589 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.