Networking\InitCmsBundle\Controller\MenuItemAdminController::createPlacementNavigation PHP Метод

createPlacementNavigation() публичный Метод

public createPlacementNavigation ( $rootNode, $admin, $controller, $menuItemManager ) : mixed
$rootNode
$admin
$controller
$menuItemManager
Результат mixed
    public function createPlacementNavigation($rootNode, $admin, $controller, $menuItemManager)
    {
        $lastEdited = $this->get('session')->get('MenuItem.last_edited');
        $nodeDecorator = function ($node) use($admin, $controller, $menuItemManager, $lastEdited) {
            if ($lastEdited == $node['id']) {
                return;
            }
            $node = $menuItemManager->find($node['id']);
            return $controller->renderView('NetworkingInitCmsBundle:MenuItemAdmin:placement_item.html.twig', array('admin' => $admin, 'last_edited' => $lastEdited, 'node' => $node));
        };
        $childOpen = function ($node) use($lastEdited) {
            if ($lastEdited == $node['id']) {
                return;
            }
            return sprintf('<li class="table-row-style list_item" id="listItem_%s">', $node['id']);
        };
        $childClose = function ($node) use($lastEdited, $admin, $controller) {
            if ($lastEdited == $node['id']) {
                return;
            }
            return $controller->renderView('NetworkingInitCmsBundle:MenuItemAdmin:placement_item_end.html.twig', array('admin' => $admin, 'last_edited' => $lastEdited, 'node' => $node));
        };
        $rootOpen = function ($tree) {
            $node = $tree[0];
            if ($node['lvl'] == 1) {
                $class = 'ui-sortable';
            } else {
                $class = 'table-row-style';
            }
            return sprintf('<ul class="%s">', $class);
        };
        $navigation = $menuItemManager->childrenHierarchy($rootNode, null, array('rootOpen' => $rootOpen, 'decorate' => true, 'childOpen' => $childOpen, 'childClose' => $childClose, 'nodeDecorator' => $nodeDecorator), false);
        return $navigation;
    }