本文整理汇总了PHP中eZ\Publish\API\Repository\ContentTypeService::assignContentTypeGroup方法的典型用法代码示例。如果您正苦于以下问题:PHP ContentTypeService::assignContentTypeGroup方法的具体用法?PHP ContentTypeService::assignContentTypeGroup怎么用?PHP ContentTypeService::assignContentTypeGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\API\Repository\ContentTypeService
的用法示例。
在下文中一共展示了ContentTypeService::assignContentTypeGroup方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: linkContentTypeToGroup
/**
* Links a content type group to the content type and returns the updated group list
*
* @param mixed $contentTypeId
*
* @throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
* @throws \eZ\Publish\Core\REST\Server\Exceptions\BadRequestException
* @return \eZ\Publish\Core\REST\Server\Values\ContentTypeGroupRefList
*/
public function linkContentTypeToGroup($contentTypeId, Request $request)
{
$contentType = $this->contentTypeService->loadContentType($contentTypeId);
try {
$contentTypeGroupId = $this->requestParser->parseHref($request->query->get('group'), 'contentTypeGroupId');
} catch (Exceptions\InvalidArgumentException $e) {
// Group URI does not match the required value
throw new BadRequestException($e->getMessage());
}
$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 ForbiddenException('Content type is already linked to provided group');
}
$this->contentTypeService->assignContentTypeGroup($contentType, $contentTypeGroup);
$existingContentTypeGroups[] = $contentTypeGroup;
return new Values\ContentTypeGroupRefList($contentType, $existingContentTypeGroups);
}
示例2: assignContentGroupTypeToContentType
/**
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup
*/
protected function assignContentGroupTypeToContentType($contentType, $contentTypeGroup)
{
try {
$this->contentTypeService->assignContentTypeGroup($contentType, $contentTypeGroup);
} catch (ApiExceptions\InvalidArgumentException $exception) {
//do nothing
}
}
示例3: assignContentTypeGroup
/**
* Assigns a content type to a content type group.
*
* @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to unlink a content type
* @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the content type is already assigned the given group
*
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
* @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup
*/
public function assignContentTypeGroup(ContentType $contentType, ContentTypeGroup $contentTypeGroup)
{
$returnValue = $this->service->assignContentTypeGroup($contentType, $contentTypeGroup);
$this->signalDispatcher->emit(new AssignContentTypeGroupSignal(array('contentTypeId' => $contentType->id, 'contentTypeGroupId' => $contentTypeGroup->id)));
return $returnValue;
}