/**
  * Get ezfSolrDocumentFieldBase instances for all attributes of specified eZContentObjectVersion
  *
  * @param eZContentObjectVersion Instance of eZContentObjectVersion to fetch attributes from.
  *
  * @return array List of ezfSolrDocumentFieldBase instances.
  */
 function getBaseList( eZContentObjectVersion $objectVersion )
 {
     $returnList = array();
     // Get ezfSolrDocumentFieldBase instance for all attributes in related object
     if ( eZContentObject::recursionProtect( $this->ContentObjectAttribute->attribute( 'contentobject_id' ) ) )
     {
         foreach ( $objectVersion->contentObjectAttributes( $this->ContentObjectAttribute->attribute( 'language_code' ) ) as $attribute )
         {
             if ( $attribute->attribute( 'contentclass_attribute' )->attribute( 'is_searchable' ) )
             {
                 $returnList[] = ezfSolrDocumentFieldBase::getInstance( $attribute );
             }
         }
     }
     return $returnList;
 }
 function metaData($contentObjectAttribute)
 {
     $object = $this->objectAttributeContent($contentObjectAttribute);
     if ($object) {
         if (eZContentObject::recursionProtect($object->attribute('id'))) {
             // Does the related object exist in the same language as the current content attribute ?
             if (in_array($contentObjectAttribute->attribute('language_code'), $object->attribute('current')->translationList(false, false))) {
                 $attributes = $object->attribute('current')->contentObjectAttributes($contentObjectAttribute->attribute('language_code'));
             } else {
                 $attributes = $object->contentObjectAttributes();
             }
             return eZContentObjectAttribute::metaDataArray($attributes);
         } else {
             return array();
         }
     }
     return false;
 }
Exemplo n.º 3
0
 function metaData($contentObjectAttribute)
 {
     $metaDataArray = $attributes = array();
     $content = $contentObjectAttribute->content();
     $language = $contentObjectAttribute->attribute('language_code');
     foreach ($content['relation_list'] as $relationItem) {
         $subObjectID = $relationItem['contentobject_id'];
         if (!$subObjectID) {
             continue;
         }
         if (isset($content['temp'])) {
             $attributes = $content['temp'][$subObjectID]['attributes'];
         } else {
             $subObjectVersion = $relationItem['contentobject_version'];
             $object = eZContentObject::fetch($subObjectID);
             if (eZContentObject::recursionProtect($subObjectID)) {
                 if (!$object) {
                     continue;
                 }
                 $attributes = $object->contentObjectAttributes(true, $subObjectVersion, $language);
             }
         }
         $attributeMetaDataArray = eZContentObjectAttribute::metaDataArray($attributes);
         $metaDataArray = array_merge($metaDataArray, $attributeMetaDataArray);
     }
     return $metaDataArray;
 }
 function metaData($contentObjectAttribute)
 {
     $metaDataArray = $attributes = array();
     $content = $contentObjectAttribute->content();
     $language = $contentObjectAttribute->attribute('language_code');
     foreach ($content['relation_list'] as $relationItem) {
         $subObjectID = $relationItem['contentobject_id'];
         if (!$subObjectID) {
             continue;
         }
         if (isset($content['temp'])) {
             $attributes = $content['temp'][$subObjectID]['attributes'];
         } else {
             $subObjectVersionNum = $relationItem['contentobject_version'];
             $subObject = eZContentObject::fetch($subObjectID);
             // Using last version of object (version inside xml data is the original version)
             $subCurrentVersionObject = $subObject->currentVersion();
             if ($subCurrentVersionObject instanceof eZContentObjectVersion) {
                 $subObjectVersionNum = $subCurrentVersionObject->attribute('version');
             }
             if (eZContentObject::recursionProtect($subObjectID)) {
                 if (!$subObject) {
                     continue;
                 }
                 $attributes = $subObject->contentObjectAttributes(true, $subObjectVersionNum, $language);
             }
         }
         $attributeMetaDataArray = eZContentObjectAttribute::metaDataArray($attributes);
         $metaDataArray = array_merge($metaDataArray, $attributeMetaDataArray);
     }
     return $metaDataArray;
 }