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.