繁体   English   中英

自定义Sonata-admin仪表板“主页”

[英]Customize Sonata-admin dashboard “home”

我对Sonata项目很陌生,在“玩”它时,我想将其用于我的一个项目。

但是,关于Sonata以及它的工作方式和可定制的问题,还有一些问题对我来说仍然存在。

他们是:

  • 是否可以使用自定义控制器来显示仪表板的“主页”?
  • 我想仅使用角色来管理我的安全性,但无法弄清楚如何在使用用户创建表单时将角色添加到显示的列表中(默认位于/admin/my/bundle/user/create )在“管理”标签下。 可能吗? 屏幕说明更多: 在此处输入图片说明

    如果是的话,如果有人对如何做有任何提示,欢迎他们! :)

  • 使用此角色意味着在我的对象/控制器上管理这些角色的权限。 是否有捆绑的机制,或者我必须添加我的机制?

在symfony中,您可以通过继承第三方捆绑软件来定制该捆绑软件。 因此,要使用您自己的控制器,请按以下步骤操作:

在您的自定义包中: AcmeDemoBundle.php添加:

public function getParent()
{
    return 'SonataAdminBundle';
}

现在,您的捆绑包继承了SonataAdminBundle

在您的自定义控制器中: AcmeDemoBundleCustomController.php

class CustomController extends CoreController {

  public function dashboardAction()
  {
      ...
      /* Here goes your code */
  }

}

Turdaliev的答案是第一个问题的正确方法。

关于角色,显示的角色是应用程序的security.yml文件中存在的角色:

security:
    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH, ROLE_SONATA_PAGE_ADMIN_PAGE_EDIT, ROLE_SONATA_PAGE_ADMIN_BLOCK_EDIT]

在Sonata中,实现了ACL机制,为各种操作(例如查看,删除等)添加了新角色。您可能会在演示( https://github.com/sonata-project/sandbox ),结帐中看到详细的示例。有关更多详细信息,请参见SonataAdmin安全文档: http ://sonata-project.org/bundles/admin/master/doc/reference/security.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM