コード例 #1
0
 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;
 }
コード例 #2
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;
 }