Пример #1
0
 /**
  * Returns teh path of the linked element
  *
  * @return mixed
  */
 public function getFullPath()
 {
     $this->setElement();
     //don't give unpublished elements in frontend
     if (Document::doHideUnpublished() and !Element_Service::isPublished($this->element)) {
         return false;
     }
     if ($this->element instanceof Element_Interface) {
         return $this->element->getFullPath();
     }
     return;
 }
Пример #2
0
 public function preGetData($object)
 {
     $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, array("force" => true));
         $setter = "set" . ucfirst($this->getName());
         if (method_exists($object, $setter)) {
             $object->{$setter}($data);
         }
     }
     if (Object_Abstract::doHideUnpublished() and $data instanceof Element_Interface) {
         if (!Element_Service::isPublished($data)) {
             return null;
         }
     }
     return $data;
 }
Пример #3
0
 public function preGetData($object)
 {
     $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, array("force" => true));
         $setter = "set" . ucfirst($this->getName());
         if (method_exists($object, $setter)) {
             $object->{$setter}($data);
         }
     }
     if (Object_Abstract::doHideUnpublished() and is_array($data)) {
         $publishedList = array();
         foreach ($data as $listElement) {
             if (Element_Service::isPublished($listElement)) {
                 $publishedList[] = $listElement;
             }
         }
         return $publishedList;
     }
     return is_array($data) ? $data : array();
 }