本文整理汇总了PHP中eZ\Publish\API\Repository\ContentTypeService::loadContentTypeGroup方法的典型用法代码示例。如果您正苦于以下问题:PHP ContentTypeService::loadContentTypeGroup方法的具体用法?PHP ContentTypeService::loadContentTypeGroup怎么用?PHP ContentTypeService::loadContentTypeGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZ\Publish\API\Repository\ContentTypeService
的用法示例。
在下文中一共展示了ContentTypeService::loadContentTypeGroup方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildForm
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('contentTypeGroupId', 'hidden', ['constraints' => new Callback(function ($contentTypeGroupId, ExecutionContextInterface $context) {
try {
$this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);
} catch (NotFoundException $e) {
$context->buildViolation('content_type.error.content_type_group.not_found')->setParameter('%id%', $contentTypeGroupId)->addViolation();
}
})])->add('create', 'submit', ['label' => 'content_type.create']);
}
示例2: processUpdate
public function processUpdate(FormActionEvent $event)
{
/** @var \EzSystems\RepositoryForms\Data\ContentTypeGroup\ContentTypeGroupUpdateData|\EzSystems\RepositoryForms\Data\ContentTypeGroup\ContentTypeGroupCreateData $data */
$data = $event->getData();
if ($data->isNew()) {
$contentTypeGroup = $this->contentTypeService->createContentTypeGroup($data);
} else {
$this->contentTypeService->updateContentTypeGroup($data->contentTypeGroup, $data);
$contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($data->getId());
}
$data->setContentTypeGroup($contentTypeGroup);
}
示例3: createContentTypeAction
public function createContentTypeAction(Request $request, $contentTypeGroupId, $languageCode = null)
{
$createForm = $this->createForm(new ContentTypeCreateType($this->contentTypeService), ['contentTypeGroupId' => $contentTypeGroupId]);
$createForm->handleRequest($request);
if ($createForm->isValid()) {
$languageCode = $languageCode ?: $this->prioritizedLanguages[0];
$contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($createForm->getData()['contentTypeGroupId']);
$contentTypeCreateStruct = new ContentTypeCreateStruct(['identifier' => '__new__' . md5(microtime(true)), 'mainLanguageCode' => $languageCode, 'names' => [$languageCode => 'New ContentType']]);
$contentTypeDraft = $this->contentTypeService->createContentType($contentTypeCreateStruct, [$contentTypeGroup]);
return $this->redirectToRouteAfterFormPost('admin_contenttypeUpdate', ['contentTypeId' => $contentTypeDraft->id, 'languageCode' => $languageCode]);
}
// Form validation failed. Send errors as notifications.
foreach ($createForm->getErrors(true) as $error) {
$this->notifyErrorPlural($error->getMessageTemplate(), $error->getMessagePluralization(), $error->getMessageParameters(), 'ezrepoforms_content_type');
}
return $this->redirectToRouteAfterFormPost('admin_contenttypeGroupView', ['contentTypeGroupId' => $contentTypeGroupId]);
}
示例4: 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());
}
示例5: loadContentTypeGroup
/**
* Get a Content Type Group object by id
*
* @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException If group can not be found
*
* @param mixed $contentTypeGroupId
*
* @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup
*/
public function loadContentTypeGroup($contentTypeGroupId)
{
return $this->service->loadContentTypeGroup($contentTypeGroupId);
}