Pimcore\Model\Object\ClassDefinition\Data\MultihrefMetadata::getDataForEditmode PHP Method

getDataForEditmode() public method

See also: Object\ClassDefinition\Data::getDataForEditmode
public getDataForEditmode ( array $data, null | AbstractObject $object = null, mixed $params = [] ) : array
$data array
$object null | Pimcore\Model\Object\AbstractObject
$params mixed
return array
    public function getDataForEditmode($data, $object = null, $params = [])
    {
        $return = [];
        if (is_array($data) && count($data) > 0) {
            foreach ($data as $metaObject) {
                $element = $metaObject->getElement();
                $itemData = null;
                if ($element instanceof Object\Concrete) {
                    $itemData = ["id" => $element->getId(), "path" => $element->getRealFullPath(), "type" => "object", "subtype" => $element->getClassName()];
                } elseif ($element instanceof Object\AbstractObject) {
                    $itemData = ["id" => $element->getId(), "path" => $element->getRealFullPath(), "type" => "object", "subtype" => "folder"];
                } elseif ($element instanceof Asset) {
                    $itemData = ["id" => $element->getId(), "path" => $element->getRealFullPath(), "type" => "asset", "subtype" => $element->getType()];
                } elseif ($element instanceof Document) {
                    $itemData = ["id" => $element->getId(), "path" => $element->getRealFullPath(), "type" => "document", "subtype" => $element->getType()];
                }
                if (!$itemData) {
                    continue;
                }
                foreach ($this->getColumns() as $c) {
                    $getter = "get" . ucfirst($c['key']);
                    $itemData[$c['key']] = $metaObject->{$getter}();
                }
                $return[] = $itemData;
            }
            if (empty($return)) {
                $return = false;
            }
            return $return;
        }
    }