rewriteIds() публичный статический Метод

..), "asset" => array(...) )
public static rewriteIds ( $document, $rewriteConfig, $params = [] ) : Document
$document
$rewriteConfig
Результат Pimcore\Model\Document
Пример #1
0
 public function replaceAssignmentsAction()
 {
     $success = false;
     $message = "";
     $element = Element\Service::getElementById($this->getParam("type"), $this->getParam("id"));
     $sourceEl = Element\Service::getElementById($this->getParam("sourceType"), $this->getParam("sourceId"));
     $targetEl = Element\Service::getElementById($this->getParam("targetType"), $this->getParam("targetId"));
     if ($element && $sourceEl && $targetEl && $this->getParam("sourceType") == $this->getParam("targetType") && $sourceEl->getType() == $targetEl->getType()) {
         $rewriteConfig = [$this->getParam("sourceType") => [$sourceEl->getId() => $targetEl->getId()]];
         if ($element instanceof Document) {
             $element = Document\Service::rewriteIds($element, $rewriteConfig);
         } elseif ($element instanceof Object\AbstractObject) {
             $element = Object\Service::rewriteIds($element, $rewriteConfig);
         } elseif ($element instanceof Asset) {
             $element = Asset\Service::rewriteIds($element, $rewriteConfig);
         }
         $element->setUserModification($this->getUser()->getId());
         $element->save();
         $success = true;
     } else {
         $message = "source-type and target-type do not match";
     }
     $this->_helper->json(["success" => $success, "message" => $message]);
 }
Пример #2
0
 public function copyRewriteIdsAction()
 {
     $transactionId = $this->getParam("transactionId");
     $idStore = Session::useSession(function ($session) use($transactionId) {
         return $session->{$transactionId};
     }, "pimcore_copy");
     if (!array_key_exists("rewrite-stack", $idStore)) {
         $idStore["rewrite-stack"] = array_values($idStore["idMapping"]);
     }
     $id = array_shift($idStore["rewrite-stack"]);
     $document = Document::getById($id);
     if ($document) {
         // create rewriteIds() config parameter
         $rewriteConfig = array("document" => $idStore["idMapping"]);
         $document = Document\Service::rewriteIds($document, $rewriteConfig, array("enableInheritance" => $this->getParam("enableInheritance") == "true" ? true : false));
         $document->setUserModification($this->getUser()->getId());
         $document->save();
     }
     // write the store back to the session
     Session::useSession(function ($session) use($transactionId, $idStore) {
         $session->{$transactionId} = $idStore;
     }, "pimcore_copy");
     $this->_helper->json(array("success" => true, "id" => $id));
 }