本文整理汇总了PHP中eZ\Publish\API\Repository\ContentTypeService::unassignContentTypeGroup方法的典型用法代码示例。如果您正苦于以下问题:PHP ContentTypeService::unassignContentTypeGroup方法的具体用法?PHP ContentTypeService::unassignContentTypeGroup怎么用?PHP ContentTypeService::unassignContentTypeGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\API\Repository\ContentTypeService
的用法示例。
在下文中一共展示了ContentTypeService::unassignContentTypeGroup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unlinkContentTypeFromGroup
/**
* Removes the given group from the content type and returns the updated group list
*
* @param $contentTypeId
* @param $contentTypeGroupId
*
* @throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
* @throws \eZ\Publish\Core\REST\Common\Exceptions\NotFoundException
* @return \eZ\Publish\Core\REST\Server\Values\ContentTypeGroupRefList
*/
public function unlinkContentTypeFromGroup($contentTypeId, $contentTypeGroupId)
{
$contentType = $this->contentTypeService->loadContentType($contentTypeId);
$contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);
$existingContentTypeGroups = $contentType->getContentTypeGroups();
$contentTypeInGroup = false;
foreach ($existingContentTypeGroups as $existingGroup) {
if ($existingGroup->id == $contentTypeGroup->id) {
$contentTypeInGroup = true;
break;
}
}
if (!$contentTypeInGroup) {
throw new Exceptions\NotFoundException('Content type is not in the given group');
}
if (count($existingContentTypeGroups) == 1) {
throw new ForbiddenException('Content type cannot be unlinked from the only remaining group');
}
$this->contentTypeService->unassignContentTypeGroup($contentType, $contentTypeGroup);
$contentType = $this->contentTypeService->loadContentType($contentTypeId);
return new Values\ContentTypeGroupRefList($contentType, $contentType->getContentTypeGroups());
}
示例2: 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(ContentType $contentType, ContentTypeGroup $contentTypeGroup)
{
$returnValue = $this->service->unassignContentTypeGroup($contentType, $contentTypeGroup);
$this->signalDispatcher->emit(new UnassignContentTypeGroupSignal(array('contentTypeId' => $contentType->id, 'contentTypeGroupId' => $contentTypeGroup->id)));
return $returnValue;
}