我可以对Silverstripe中的顶级页面数量施加限制吗?

时间:2014-02-13 20:28:11

标签: php silverstripe

我目前正在将静态HTML网站迁移到Silverstripe。我面临的挑战之一是在设计时考虑了静态HTML。

网站的导航区域仅设计为容纳4个顶级导航项目。理论上,子导航可以有所需的数量。

我是否可以在CMS中对用户可以创建的最大顶级页面强制执行限制?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这实际上取决于您正在创建的页面类型。如果您只有一个页面类型且只有4页,那么只需覆盖您的Page类中的canCreate函数(见下文)。如果您有多个页面,但根级别页面是相同的页面类型,则使用相同的方法,但也将can_be_root static var添加到子页面类型(private static $can_be_root = false;)。

e.g。

function canCreate() { 
    $count = DataList::create(“SiteTree”)->Count(); 
    return ($count > 4) ? false : true; 
};

希望这足以满足您的特定情况。

请参阅SilverStripe SiteTree文档。