public function execute() { $menus = $this->menuRepository->getAllMenus(); $cMenus = count($menus); if ($cMenus > 0) { $canDeleteItem = $this->acl->hasPermission('admin/menus/items/delete'); $canEditItem = $this->acl->hasPermission('admin/menus/items/edit'); $canSortItem = $this->acl->hasPermission('admin/menus/items/order'); $this->view->assign('can_delete_item', $canDeleteItem); $this->view->assign('can_edit_item', $canEditItem); $this->view->assign('can_order_item', $canSortItem); $this->view->assign('can_delete', $this->acl->hasPermission('admin/menus/index/delete')); $this->view->assign('can_edit', $this->acl->hasPermission('admin/menus/index/edit')); $colspan = 4; if ($canDeleteItem || $canEditItem) { $colspan += 1; } if ($canSortItem) { $colspan += 1; } $this->view->assign('colspan', $colspan); $menuItems = $this->menusHelpers->menuItemsList(); for ($i = 0; $i < $cMenus; ++$i) { if (isset($menuItems[$menus[$i]['index_name']]) === false) { $menuItems[$menus[$i]['index_name']]['title'] = $menus[$i]['title']; $menuItems[$menus[$i]['index_name']]['menu_id'] = $menus[$i]['id']; $menuItems[$menus[$i]['index_name']]['items'] = []; } } $this->view->assign('pages_list', $menuItems); } }
/** * @param int $blockId * @param int $parentId * @param int $leftId * @param int $rightId * @param int $displayMenuItem * * @return array */ public function createMenuItemFormFields($blockId = 0, $parentId = 0, $leftId = 0, $rightId = 0, $displayMenuItem = 1) { return ['blocks' => $this->menusDropDown($blockId), 'display' => $this->formsHelper->yesNoCheckboxGenerator('display', $displayMenuItem), 'menuItems' => $this->menusHelper->menuItemsList($parentId, $leftId, $rightId)]; }