我在Silverstripe中有两个名为TeamPage和TeamReport的自定义页面类型.
创建新的TeamPage时,我希望将TeamReport添加为单个子页面 - 使用'/ report /'作为URL slug.
我应该向TeamPage添加什么代码才能实现此目的?
小智 5
为此,我将在检查创建后创建TeamReport一个onAfterWrite方法.TeamPageonBeforeWrite
public function onBeforeWrite() {
parent::onBeforeWrite();
$this->IsCreating = !$this->ID;
}
public function onAfterWrite() {
parent::onAfterWrite();
if ($this->IsCreating) {
$child = new TeamReport();
$child->ParentID = $this->ID;
$child->URLSegment = 'report';
$child->Title = 'Report';
$child->write();
}
}
Run Code Online (Sandbox Code Playgroud)