Exemplo n.º 1
0
 /**
  * @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);
 }
Exemplo n.º 3
0
 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;
     }
 }