Beispiel #1
0
 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 : [];
 }