是否可以根据登录用户将站点树的视图限制为一个特定节点?
当管理员登录时,他们将有权访问所有根节点:
当属于墨尔本组的某人登录时,他们将能够看到:
答案 0 :(得分:1)
使用此功能创建新扩展程序:
canView($member = null)
定义页面是否应在CMS中显示给当前用户。
canEdit($member = null)
定义当前用户是否可以编辑页面。
canCreate($member = null)
定义当前用户是否可以创建新页面。
canDelete($member = null)
定义当前用户是否可以删除该页面。
canPublish($member = null)
定义当前用户是否可以发布草稿页。
所有挂钩都可以返回3个值:
因此,您可以创建自己的权限逻辑。
class CMSTreeChildrenFilter extends Extension
{
public function augmentAllChildrenIncludingDeleted($children, $context) {
if (!is_a($context, 'CMSPagesController')) return;
foreach ($children as $page) {
if (!$page->canView()) {
$children->remove($page);
}
}
}
}
但是在您的情况下,以下配置应该有效:
默认情况下,根页面被禁用,但在用户无权访问时,仍会在站点树中显示。您可以使用这种额外的css样式隐藏它们:
.cms-tree .disabled {display:none;}