當前位置: 首頁>>代碼示例>>PHP>>正文


PHP LocationService::moveSubtree方法代碼示例

本文整理匯總了PHP中eZ\Publish\API\Repository\LocationService::moveSubtree方法的典型用法代碼示例。如果您正苦於以下問題:PHP LocationService::moveSubtree方法的具體用法?PHP LocationService::moveSubtree怎麽用?PHP LocationService::moveSubtree使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在eZ\Publish\API\Repository\LocationService的用法示例。


在下文中一共展示了LocationService::moveSubtree方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: moveSubtree

 /**
  * Moves a subtree to a new location
  *
  * @param string $locationPath
  *
  * @throws \eZ\Publish\Core\REST\Server\Exceptions\BadRequestException if the Destination header cannot be parsed as location or trash
  * @return \eZ\Publish\Core\REST\Server\Values\ResourceCreated
  */
 public function moveSubtree($locationPath)
 {
     $locationToMove = $this->locationService->loadLocation($this->extractLocationIdFromPath($locationPath));
     $destinationLocationId = null;
     $destinationHref = $this->request->headers->get('Destination');
     try {
         // First check to see if the destination is for moving within another subtree
         $destinationLocationId = $this->extractLocationIdFromPath($this->requestParser->parseHref($destinationHref, 'locationPath'));
         // We're moving the subtree
         $destinationLocation = $this->locationService->loadLocation($destinationLocationId);
         $this->locationService->moveSubtree($locationToMove, $destinationLocation);
         // Reload the location to get the new position is subtree
         $locationToMove = $this->locationService->loadLocation($locationToMove->id);
         return new Values\ResourceCreated($this->router->generate('ezpublish_rest_loadLocation', array('locationPath' => rtrim($locationToMove->pathString, '/'))));
     } catch (Exceptions\InvalidArgumentException $e) {
         try {
             $route = $this->requestParser->parse($destinationHref);
             if (!isset($route['_route']) || $route['_route'] !== 'ezpublish_rest_loadTrashItems') {
                 throw new Exceptions\InvalidArgumentException('');
             }
             // Trash the subtree
             $trashItem = $this->trashService->trash($locationToMove);
             return new Values\ResourceCreated($this->router->generate('ezpublish_rest_loadTrashItem', array('trashItemId' => $trashItem->id)));
         } catch (Exceptions\InvalidArgumentException $e) {
             // If that fails, the Destination header is not formatted right
             // so just throw the BadRequestException
             throw new BadRequestException("{$destinationHref} is not an acceptable destination");
         }
     }
 }
開發者ID:CG77,項目名稱:ezpublish-kernel,代碼行數:38,代碼來源:Location.php

示例2: moveSubtree

 /**
  * Moves the subtree to $newParentLocation
  *
  * If a user has the permission to move the location to a target location
  * he can do it regardless of an existing descendant on which the user has no permission.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException If the current user user is not allowed to move this location to the target
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Location $location
  * @param \eZ\Publish\API\Repository\Values\Content\Location $newParentLocation
  */
 public function moveSubtree(Location $location, Location $newParentLocation)
 {
     $returnValue = $this->service->moveSubtree($location, $newParentLocation);
     $this->signalDispatcher->emit(new MoveSubtreeSignal(array('locationId' => $location->id, 'newParentLocationId' => $newParentLocation->id)));
     return $returnValue;
 }
開發者ID:nlescure,項目名稱:ezpublish-kernel,代碼行數:17,代碼來源:LocationService.php


注:本文中的eZ\Publish\API\Repository\LocationService::moveSubtree方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。