本文整理汇总了PHP中eZ\Publish\SPI\Persistence\Content\Type\Handler::createGroup方法的典型用法代码示例。如果您正苦于以下问题:PHP Handler::createGroup方法的具体用法?PHP Handler::createGroup怎么用?PHP Handler::createGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\SPI\Persistence\Content\Type\Handler
的用法示例。
在下文中一共展示了Handler::createGroup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createContentTypeGroup
/**
* Create 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 a group with the same identifier already exists
*
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct
*
* @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
*/
public function createContentTypeGroup(ContentTypeGroupCreateStruct $contentTypeGroupCreateStruct)
{
if ($this->repository->hasAccess('class', 'create') !== true) {
throw new UnauthorizedException('ContentType', 'create');
}
try {
$this->loadContentTypeGroupByIdentifier($contentTypeGroupCreateStruct->identifier);
throw new InvalidArgumentException("\$contentTypeGroupCreateStruct", "A group with the identifier '{$contentTypeGroupCreateStruct->identifier}' already exists");
} catch (APINotFoundException $e) {
// Do nothing
}
if ($contentTypeGroupCreateStruct->creationDate === null) {
$timestamp = time();
} else {
$timestamp = $contentTypeGroupCreateStruct->creationDate->getTimestamp();
}
if ($contentTypeGroupCreateStruct->creatorId === null) {
$userId = $this->repository->getCurrentUser()->id;
} else {
$userId = $contentTypeGroupCreateStruct->creatorId;
}
$spiGroupCreateStruct = new SPIContentTypeGroupCreateStruct(array("identifier" => $contentTypeGroupCreateStruct->identifier, "created" => $timestamp, "modified" => $timestamp, "creatorId" => $userId, "modifierId" => $userId));
$this->repository->beginTransaction();
try {
$spiContentTypeGroup = $this->contentTypeHandler->createGroup($spiGroupCreateStruct);
$this->repository->commit();
} catch (Exception $e) {
$this->repository->rollback();
throw $e;
}
return $this->buildContentTypeGroupDomainObject($spiContentTypeGroup);
}
示例2: createGroup
/**
* @param \eZ\Publish\SPI\Persistence\Content\Type\Group\CreateStruct $createStruct
* @return Group
*/
public function createGroup(GroupCreateStruct $createStruct)
{
$this->clearCache();
return $this->innerHandler->createGroup($createStruct);
}