本文整理汇总了PHP中Sonata\AdminBundle\Admin\AdminInterface::getMenuFactory方法的典型用法代码示例。如果您正苦于以下问题:PHP AdminInterface::getMenuFactory方法的具体用法?PHP AdminInterface::getMenuFactory怎么用?PHP AdminInterface::getMenuFactory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sonata\AdminBundle\Admin\AdminInterface
的用法示例。
在下文中一共展示了AdminInterface::getMenuFactory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildBreadcrumbs
/**
* {@inheritdoc}
* NEXT_MAJOR : make this method private.
*/
public function buildBreadcrumbs(AdminInterface $admin, $action, ItemInterface $menu = null)
{
if (!$menu) {
$menu = $admin->getMenuFactory()->createItem('root');
$menu = $this->createMenuItem($admin, $menu, 'dashboard', 'SonataAdminBundle', array('uri' => $admin->getRouteGenerator()->generate('sonata_admin_dashboard')));
}
$menu = $this->createMenuItem($admin, $menu, sprintf('%s_list', $admin->getClassnameLabel()), null, array('uri' => $admin->hasRoute('list') && $admin->isGranted('LIST') ? $admin->generateUrl('list') : null));
$childAdmin = $admin->getCurrentChildAdmin();
if ($childAdmin) {
$id = $admin->getRequest()->get($admin->getIdParameter());
$menu = $menu->addChild($admin->toString($admin->getSubject()), array('uri' => $admin->hasRoute('edit') && $admin->isGranted('EDIT') ? $admin->generateUrl('edit', array('id' => $id)) : null));
return $this->buildBreadcrumbs($childAdmin, $action, $menu);
}
if ('list' === $action && $admin->isChild()) {
$menu->setUri(false);
} elseif ('create' !== $action && $admin->hasSubject()) {
$menu = $menu->addChild($admin->toString($admin->getSubject()));
} else {
$menu = $this->createMenuItem($admin, $menu, sprintf('%s_%s', $admin->getClassnameLabel(), $action));
}
return $menu;
}