/**
  * Maps a ValueObject from eZ content repository to a data usable as underlying form data (e.g. create/update struct).
  *
  * @param ValueObject|\eZ\Publish\API\Repository\Values\Content\Content $contentDraft
  * @param array $params
  *
  * @return ContentUpdateData
  */
 public function mapToFormData(ValueObject $contentDraft, array $params = [])
 {
     $optionsResolver = new OptionsResolver();
     $this->configureOptions($optionsResolver);
     $params = $optionsResolver->resolve($params);
     $data = new ContentUpdateData(['contentDraft' => $contentDraft, 'contentType' => $params['contentType']]);
     $fields = $contentDraft->getFieldsByLanguage($params['languageCode']);
     foreach ($params['contentType']->fieldDefinitions as $fieldDef) {
         $field = $fields[$fieldDef->identifier];
         $data->addFieldData(new FieldData(['fieldDefinition' => $fieldDef, 'field' => $field, 'value' => $field->value]));
     }
     return $data;
 }
 /**
  * Maps a ValueObject from eZ content repository to a data usable as underlying form data (e.g. create/update struct).
  *
  * @param ValueObject|\eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft
  * @param array $params
  *
  * @return ContentTypeData
  */
 public function mapToFormData(ValueObject $contentTypeDraft, array $params = [])
 {
     $contentTypeData = new ContentTypeData(['contentTypeDraft' => $contentTypeDraft]);
     if (!$contentTypeData->isNew()) {
         $contentTypeData->identifier = $contentTypeDraft->identifier;
     }
     $contentTypeData->remoteId = $contentTypeDraft->remoteId;
     $contentTypeData->urlAliasSchema = $contentTypeDraft->urlAliasSchema;
     $contentTypeData->nameSchema = $contentTypeDraft->nameSchema;
     $contentTypeData->isContainer = $contentTypeDraft->isContainer;
     $contentTypeData->mainLanguageCode = $contentTypeDraft->mainLanguageCode;
     $contentTypeData->defaultSortField = $contentTypeDraft->defaultSortField;
     $contentTypeData->defaultSortOrder = $contentTypeDraft->defaultSortOrder;
     $contentTypeData->defaultAlwaysAvailable = $contentTypeDraft->defaultAlwaysAvailable;
     $contentTypeData->names = $contentTypeDraft->getNames();
     $contentTypeData->descriptions = $contentTypeDraft->getDescriptions();
     foreach ($contentTypeDraft->fieldDefinitions as $fieldDef) {
         $contentTypeData->addFieldDefinitionData(new FieldDefinitionData(['fieldDefinition' => $fieldDef, 'contentTypeData' => $contentTypeData, 'identifier' => $fieldDef->identifier, 'names' => $fieldDef->getNames(), 'descriptions' => $fieldDef->getDescriptions(), 'fieldGroup' => $fieldDef->fieldGroup, 'position' => $fieldDef->position, 'isTranslatable' => $fieldDef->isTranslatable, 'isRequired' => $fieldDef->isRequired, 'isInfoCollector' => $fieldDef->isInfoCollector, 'validatorConfiguration' => $fieldDef->getValidatorConfiguration(), 'fieldSettings' => $fieldDef->getFieldSettings(), 'defaultValue' => $fieldDef->defaultValue, 'isSearchable' => $fieldDef->isSearchable]));
     }
     return $contentTypeData;
 }
示例#3
0
 /**
  * Wrapper for deprecated $criterion property
  *
  * @param string $property
  * @return bool
  */
 public function __isset($property)
 {
     if ($property === 'criterion') {
         return true;
     }
     return parent::__isset($property);
 }
示例#4
0
 /**
  * Constructor.
  *
  * @param array $properties
  */
 public function __construct(array $properties = array())
 {
     $this->attributes = array();
     parent::__construct($properties);
 }
 /**
  * Get ContentType by Content/ContentInfo
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Content|\eZ\Publish\API\Repository\Values\Content\ContentInfo $content
  * @return \eZ\Publish\API\Repository\Values\ContentType\ContentType|null
  */
 private function getContentType(ValueObject $content)
 {
     if ($content instanceof Content) {
         return $this->repository->getContentTypeService()->loadContentType($content->getVersionInfo()->getContentInfo()->contentTypeId);
     } else {
         if ($content instanceof ContentInfo) {
             return $this->repository->getContentTypeService()->loadContentType($content->contentTypeId);
         }
     }
 }
示例#6
0
文件: Tag.php 项目: netgen/tagsbundle
 /**
  * Magic isset for signaling existence of convenience properties.
  *
  * @param string $property
  *
  * @return bool
  */
 public function __isset($property)
 {
     if ($property === 'keyword') {
         return true;
     }
     return parent::__isset($property);
 }
 /**
  * Returns the fieldTypeIdentifier for the field value to validate.
  *
  * @param FieldDefinitionData|ValueObject $value ValueObject holding the field value to validate, e.g. FieldDefinitionData.
  *
  * @return string
  */
 protected function getFieldTypeIdentifier(ValueObject $value)
 {
     return $value->getFieldTypeIdentifier();
 }