Ejemplo n.º 1
0
 /**
  * @param \Symfony\Component\HttpFoundation\Request $request
  *
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  */
 public function reorderAction(Request $request)
 {
     $locale = $this->getFactory()->getCurrentLocale();
     $categoryNodesToReorder = (array) json_decode($request->request->get('nodes'), true);
     $order = count($categoryNodesToReorder) - 1;
     foreach ($categoryNodesToReorder as $index => $nodeData) {
         $idNode = $nodeData['id'];
         $nodeEntity = $this->getQueryContainer()->queryNodeById($idNode)->findOne();
         $nodeTransfer = new NodeTransfer();
         $nodeTransfer->fromArray($nodeEntity->toArray());
         $nodeTransfer->setNodeOrder($order);
         $this->getFacade()->updateCategoryNode($nodeTransfer, $locale);
         $order--;
     }
     return $this->jsonResponse(['code' => Response::HTTP_OK, 'message' => 'Category nodes successfully reordered']);
 }
 /**
  * @param \Generated\Shared\Transfer\NodeTransfer $sourceNodeTransfer
  * @param \Generated\Shared\Transfer\NodeTransfer $destinationNodeTransfer
  * @param \Generated\Shared\Transfer\LocaleTransfer $localeTransfer
  *
  * @return void
  */
 protected function moveCategoryNodes(NodeTransfer $sourceNodeTransfer, NodeTransfer $destinationNodeTransfer, LocaleTransfer $localeTransfer)
 {
     $categoryNodeCollection = $this->categoryQueryContainer->queryFirstLevelChildren($sourceNodeTransfer->getIdCategoryNode())->find();
     foreach ($categoryNodeCollection as $categoryNode) {
         $nodeTransfer = new NodeTransfer();
         $nodeTransfer->fromArray($categoryNode->toArray());
         $nodeTransfer->setFkParentCategoryNode($destinationNodeTransfer->getIdCategoryNode());
         $this->categoryFacade->updateCategoryNode($nodeTransfer, $localeTransfer);
     }
 }