本文整理匯總了PHP中Pimcore\Model\Object\Service::copyAsChild方法的典型用法代碼示例。如果您正苦於以下問題:PHP Service::copyAsChild方法的具體用法?PHP Service::copyAsChild怎麽用?PHP Service::copyAsChild使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Pimcore\Model\Object\Service
的用法示例。
在下文中一共展示了Service::copyAsChild方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: copyAction
public function copyAction()
{
$success = false;
$message = "";
$sourceId = intval($this->getParam("sourceId"));
$source = Object::getById($sourceId);
$session = Tool\Session::get("pimcore_copy");
$targetId = intval($this->getParam("targetId"));
if ($this->getParam("targetParentId")) {
$sourceParent = Object::getById($this->getParam("sourceParentId"));
// this is because the key can get the prefix "_copy" if the target does already exists
if ($session->{$this->getParam("transactionId")}["parentId"]) {
$targetParent = Object::getById($session->{$this->getParam("transactionId")}["parentId"]);
} else {
$targetParent = Object::getById($this->getParam("targetParentId"));
}
$targetPath = preg_replace("@^" . $sourceParent->getFullPath() . "@", $targetParent . "/", $source->getPath());
$target = Object::getByPath($targetPath);
} else {
$target = Object::getById($targetId);
}
if ($target->isAllowed("create")) {
$source = Object::getById($sourceId);
if ($source != null) {
try {
if ($this->getParam("type") == "child") {
$newObject = $this->_objectService->copyAsChild($target, $source);
$session->{$this->getParam("transactionId")}["idMapping"][(int) $source->getId()] = (int) $newObject->getId();
// this is because the key can get the prefix "_copy" if the target does already exists
if ($this->getParam("saveParentId")) {
$session->{$this->getParam("transactionId")}["parentId"] = $newObject->getId();
Tool\Session::writeClose();
}
} else {
if ($this->getParam("type") == "replace") {
$this->_objectService->copyContents($target, $source);
}
}
$success = true;
} catch (\Exception $e) {
\Logger::err($e);
$success = false;
$message = $e->getMessage() . " in object " . $source->getFullPath() . " [id: " . $source->getId() . "]";
}
} else {
\Logger::error("could not execute copy/paste, source object with id [ {$sourceId} ] not found");
$this->_helper->json(array("success" => false, "message" => "source object not found"));
}
} else {
\Logger::error("could not execute copy/paste because of missing permissions on target [ " . $targetId . " ]");
$this->_helper->json(array("error" => false, "message" => "missing_permission"));
}
$this->_helper->json(array("success" => $success, "message" => $message));
}