/** * @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; }
/** * @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; }
/** * @param Asset $asset * @return void */ public static function gridAssetData($asset) { $data = Element_Service::gridElementData($asset); return $data; }