Symfony 如何根据服务路线获取服务标签?
我正在开发一个权限系统,我想获得有关Sonata中加载的所有管理类的信息。 我有一份所有这些课程的列表Symfony 如何根据服务路线获取服务标签?,symfony,sonata-admin,Symfony,Sonata Admin,我正在开发一个权限系统,我想获得有关Sonata中加载的所有管理类的信息。 我有一份所有这些课程的列表 $this->getConfigurationPool()->getAdminClassas(); 我想获得这些服务的定义标签(组/标签) 谢谢 您可以通过调用getConfigurationPool() 上面将返回设置为在_dashboard=true中显示_的所有管理员标签,您可以通过其服务ID获取这些标签 $services=$this->getConfigurationP
$this->getConfigurationPool()->getAdminClassas();
我想获得这些服务的定义标签(组/标签)
谢谢 您可以通过调用
getConfigurationPool()
上面将返回设置为在_dashboard=true中显示_的所有管理员标签,您可以通过其服务ID获取这些标签
$services=$this->getConfigurationPool()->getAdminServiceId();
$container=$this->getConfigurationPool()->getContainer();
$adminLabels=array();
foreach($key=>$val的服务){
$admin=$container->get($val);
$adminLabels['label'][=$admin->getLabel();
}
回声';打印标签;回声';
$groups=$this->getConfigurationPool()->getDashboardGroups();
$adminGroups=array();
$i = 0;
foreach ($groups as $key => $val) {
$adminGroups['groups'][$i]['label']=$val['label'];
foreach ($val['items'] as $items) {
$adminGroups['groups'][$i]['items'][]=$items->getLabel();
}
$i++;
}
echo '<pre>';print_r($adminGroups);echo '</pre>';
Array
(
[groups] => Array
(
[0] => Array
(
[label] => Group 1
[items] => Array
(
[0] => Menu item 1
)
)
[1] => Array
(
[label] => Group 2
[items] => Array
(
[0] => Menu item 1
[1] => Menu item 2
[2] => Menu item 3
)
)
[2] => Array
(
[label] => Group 3
[items] => Array
(
[0] => Menu item 1
[1] => Menu item 2
)
)
/*And so on ....*/
)
)
$services = $this->getConfigurationPool()->getAdminServiceIds();
$container = $this->getConfigurationPool()->getContainer();
$adminLabels = array();
foreach ($services as $key => $val) {
$admin = $container->get($val);
$adminLabels['label'][] = $admin->getLabel();
}
echo '<pre>';print_r($adminLabels);echo '</pre>';