public function preGetData($object, $params = []) { $data = null; if ($object instanceof Object\Concrete) { $data = $object->{$this->getName()}; if ($this->getLazyLoading() and !in_array($this->getName(), $object->getO__loadedLazyFields())) { //$data = $this->getDataFromResource($object->getRelationData($this->getName(), true, null)); $data = $this->load($object, ["force" => true]); $setter = "set" . ucfirst($this->getName()); if (method_exists($object, $setter)) { $object->{$setter}($data); } } } elseif ($object instanceof Object\Localizedfield) { $data = $params["data"]; } elseif ($object instanceof Object\Fieldcollection\Data\AbstractData) { $data = $object->{$this->getName()}; } elseif ($object instanceof Object\Objectbrick\Data\AbstractData) { $data = $object->{$this->getName()}; } if (Object::doHideUnpublished() and is_array($data)) { $publishedList = []; foreach ($data as $listElement) { if (Element\Service::isPublished($listElement)) { $publishedList[] = $listElement; } } return $publishedList; } return is_array($data) ? $data : []; }