本文整理汇总了PHP中eZ\Publish\SPI\Persistence\Content\Type\Handler::unlink方法的典型用法代码示例。如果您正苦于以下问题:PHP Handler::unlink方法的具体用法?PHP Handler::unlink怎么用?PHP Handler::unlink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\SPI\Persistence\Content\Type\Handler
的用法示例。
在下文中一共展示了Handler::unlink方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unassignContentTypeGroup
/**
* Unassign a content type from a group.
*
* @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to link a content type
* @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the content type is not assigned this the given group.
* @throws \eZ\Publish\API\Repository\Exceptions\BadStateException If $contentTypeGroup is the last group assigned to the content type
*
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup
*/
public function unassignContentTypeGroup( APIContentType $contentType, APIContentTypeGroup $contentTypeGroup )
{
if ( $this->repository->hasAccess( 'class', 'update' ) !== true )
throw new UnauthorizedException( 'ContentType', 'update' );
$spiContentType = $this->contentTypeHandler->load(
$contentType->id,
$contentType->status
);
if ( !in_array( $contentTypeGroup->id, $spiContentType->groupIds ) )
{
throw new InvalidArgumentException(
"\$contentTypeGroup",
"The given ContentType is not assigned the ContentTypeGroup"
);
}
$this->repository->beginTransaction();
try
{
$this->contentTypeHandler->unlink(
$contentTypeGroup->id,
$contentType->id,
$contentType->status
);
$this->repository->commit();
}
catch ( APIBadStateException $e )
{
$this->repository->rollback();
throw new BadStateException(
"\$contentType",
"The given ContentTypeGroup is the last group assigned to the ContentType",
$e
);
}
catch ( Exception $e )
{
$this->repository->rollback();
throw $e;
}
}
示例2: unlink
/**
* Unlink a content type group from a content type
*
* @param mixed $groupId
* @param mixed $contentTypeId
* @param int $status
* @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException If group or type with provided status is not found
* @throws \eZ\Publish\API\Repository\Exceptions\BadStateException If $groupId is last group on $contentTypeId or
* not a group assigned to type
* @todo Add throws for NotFound and BadState when group is not assigned to type
*/
public function unlink($groupId, $contentTypeId, $status)
{
$this->clearCache();
return $this->innerHandler->unlink($groupId, $contentTypeId, $status);
}