silverstripe 3 子站点的独立家庭控制器

Separate home controller for subsite in silverstripe 3

我已经在 silverstripe 中成功安装了子站点模块,我只是想知道,是否可以为主站点和子站点创建 2 个单独的主页控制器。 我正在尝试从子站点主页而不是主站点主页中删除图库字段和选项卡。

默认情况下,两个主页是同一个控制器还是两个完全不同的控制器?您可以在 getCMSFields() 中查看当前子站点 ID

if ($this->SubsiteID !== 1) {
    //remove fields
    $fields->remove('NameOfTab'); //e.g. 'Gallery' for tab Root.Gallery
    //do other stuff
}

在前端或当您不在与子站点直接相关的数据对象或页面中时,您可以检查调用 Subsite::currentSubsiteID() 的子站点,请参阅 code on github