/** * @param Menu $menu * @return array */ public function menuTopLevelItems(Menu $menu) { $items = []; /** @var MenuItem $item */ foreach ($menu->getItems() as $item) { if (!$item->getParent()) { $items[] = $item; } } return $items; }
public function orderSortable(Menu $menu, array $array) { $map = []; /** @var MenuItem $item */ foreach ($menu->getItems() as $item) { $map[$item->getId()] = $item; } foreach ($array as $ord => $order) { $this->_orderSortable($map, $order, $ord); } $this->manager->save($menu); }
public function remove(Menu $menu) { $em = $this->getEntityManager(); $conn = $em->getConnection(); $conn->beginTransaction(); try { foreach ($menu->getItems() as $item) { foreach ($item->getParameters() as $parameter) { $em->remove($parameter); } $em->remove($item); } $em->remove($menu); $em->flush(); $conn->commit(); } catch (\Exception $e) { $conn->rollBack(); throw $e; } }