Ejemplo n.º 1
0
 /**
  * @param  Document $document
  * @return void
  */
 public static function gridDocumentData($document)
 {
     $data = Element_Service::gridElementData($document);
     if ($document instanceof Document_Page) {
         $data["title"] = $document->getTitle();
         $data["description"] = $document->getDescription();
         $data["keywords"] = $document->getKeywords();
     } else {
         $data["title"] = "";
         $data["description"] = "";
         $data["keywords"] = "";
         $data["name"] = "";
     }
     return $data;
 }
Ejemplo n.º 2
0
 /**
  * @param  Object_Abstract $object
  * @return array
  */
 public static function gridObjectData($object, $fields = null)
 {
     $data = Element_Service::gridElementData($object);
     if ($object instanceof Object_Concrete) {
         $data["classname"] = $object->geto_ClassName();
         $data["idPath"] = Pimcore_Tool::getIdPathForElement($object);
         $data['inheritedFields'] = array();
         if (empty($fields)) {
             $fields = array_keys($object->getclass()->getFieldDefinitions());
         }
         foreach ($fields as $key) {
             $brickType = null;
             $brickGetter = null;
             $dataKey = $key;
             $keyParts = explode("~", $key);
             $def = $object->getClass()->getFieldDefinition($key);
             if (count($keyParts) > 1) {
                 $brickType = $keyParts[0];
                 $brickKey = $keyParts[1];
                 $key = self::getFieldForBrickType($object->getclass(), $brickType);
                 $brickClass = Object_Objectbrick_Definition::getByKey($brickType);
                 $def = $brickClass->getFieldDefinition($brickKey);
             }
             if (!empty($key)) {
                 // some of the not editable field require a special response
                 $getter = "get" . ucfirst($key);
                 $brickGetter = null;
                 if (!empty($brickKey)) {
                     $brickGetter = "get" . ucfirst($brickKey);
                 }
                 // if the definition is not set try to get the definition from localized fields
                 if (!$def) {
                     if ($locFields = $object->getClass()->getFieldDefinition("localizedfields")) {
                         $def = $locFields->getFieldDefinition($key);
                     }
                 }
                 //relation type fields with remote owner do not have a getter
                 if (method_exists($object, $getter)) {
                     //system columns must not be inherited
                     if (in_array($key, Object_Concrete::$systemColumnNames)) {
                         $data[$dataKey] = $object->{$getter}();
                     } else {
                         $valueObject = self::getValueForObject($object, $getter, $brickType, $brickGetter);
                         $data['inheritedFields'][$dataKey] = array("inherited" => $valueObject->objectid != $object->getId(), "objectid" => $valueObject->objectid);
                         if (method_exists($def, "getDataForGrid")) {
                             $tempData = $def->getDataForGrid($valueObject->value, $object);
                             if ($def instanceof Object_Class_Data_Localizedfields) {
                                 foreach ($tempData as $tempKey => $tempValue) {
                                     $data[$tempKey] = $tempValue;
                                 }
                             } else {
                                 $data[$dataKey] = $tempData;
                             }
                         } else {
                             $data[$dataKey] = $valueObject->value;
                         }
                     }
                 }
             }
         }
     }
     return $data;
 }
Ejemplo n.º 3
0
 /**
  * @param  Asset $asset
  * @return void
  */
 public static function gridAssetData($asset)
 {
     $data = Element_Service::gridElementData($asset);
     return $data;
 }