7913 Posts in 1355 Topics by 930 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, Howard, Sean, Ryan M., biapar, Willr, Ingo, swaiba, simon_w
|
Page:
1
|
Go to End | |
| Author | Topic: | 392 Views |
-
DOM for Pages - how to set ParentID upon write?

10 June 2011 at 10:06am Last edited: 10 June 2011 10:10am
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.
-
Re: DOM for Pages - how to set ParentID upon write?

11 June 2011 at 3:29am
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
| 392 Views | ||
|
Page:
1
|
Go to Top |

