本文整理匯總了PHP中eZ\Publish\SPI\Persistence\Content\Type\Handler::updateGroup方法的典型用法代碼示例。如果您正苦於以下問題:PHP Handler::updateGroup方法的具體用法?PHP Handler::updateGroup怎麽用?PHP Handler::updateGroup使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類eZ\Publish\SPI\Persistence\Content\Type\Handler
的用法示例。
在下文中一共展示了Handler::updateGroup方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: updateContentTypeGroup
/**
* Update a Content Type Group object
*
* @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to create a content type group
* @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the given identifier (if set) already exists
*
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup the content type group to be updated
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct
*/
public function updateContentTypeGroup(APIContentTypeGroup $contentTypeGroup, ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct)
{
if ($this->repository->hasAccess('class', 'update') !== true) {
throw new UnauthorizedException('ContentType', 'update');
}
$loadedContentTypeGroup = $this->loadContentTypeGroup($contentTypeGroup->id);
if ($contentTypeGroupUpdateStruct->identifier !== null && $contentTypeGroupUpdateStruct->identifier !== $loadedContentTypeGroup->identifier) {
try {
$this->loadContentTypeGroupByIdentifier($contentTypeGroupUpdateStruct->identifier);
throw new InvalidArgumentException('$contentTypeGroupUpdateStruct->identifier', "given identifier already exists");
} catch (APINotFoundException $e) {
// Do nothing
}
}
if ($contentTypeGroupUpdateStruct->modificationDate !== null) {
$modifiedTimestamp = $contentTypeGroupUpdateStruct->modificationDate->getTimestamp();
} else {
$modifiedTimestamp = time();
}
$spiGroupUpdateStruct = new SPIContentTypeGroupUpdateStruct(array("id" => $loadedContentTypeGroup->id, "identifier" => $contentTypeGroupUpdateStruct->identifier === null ? $loadedContentTypeGroup->identifier : $contentTypeGroupUpdateStruct->identifier, "modified" => $modifiedTimestamp, "modifierId" => $contentTypeGroupUpdateStruct->modifierId === null ? $this->repository->getCurrentUser()->id : $contentTypeGroupUpdateStruct->modifierId));
$this->repository->beginTransaction();
try {
$this->contentTypeHandler->updateGroup($spiGroupUpdateStruct);
$this->repository->commit();
} catch (Exception $e) {
$this->repository->rollback();
throw $e;
}
}
示例2: updateGroup
/**
* @param \eZ\Publish\SPI\Persistence\Content\Type\Group\UpdateStruct $struct
* @return \eZ\Publish\SPI\Persistence\Content\Type\Group
*/
public function updateGroup(GroupUpdateStruct $struct)
{
$this->clearCache();
return $this->innerHandler->updateGroup($struct);
}