Pimcore\Model\Document::getByPath PHP Method

getByPath() public static method

Static helper to get a Document by it's path
public static getByPath ( string $path ) : Document | Email | Folder | Hardlink | Link | Page | Printcontainer | Printpage | Snippet
$path string
return Document | Email | Folder | Hardlink | Link | Page | Printcontainer | Printpage | Snippet
    public static function getByPath($path)
    {
        $path = Element\Service::correctPath($path);
        try {
            $document = new Document();
            // validate path
            if (Tool::isValidPath($path)) {
                $document->getDao()->getByPath($path);
            }
            return self::getById($document->getId());
        } catch (\Exception $e) {
            Logger::debug($e->getMessage());
        }
        return null;
    }

Usage Example

Example #1
0
 protected function setValuesToDocument(Document\Link $link)
 {
     // data
     if ($this->getParam("data")) {
         $data = \Zend_Json::decode($this->getParam("data"));
         if (!empty($data["path"])) {
             if ($document = Document::getByPath($data["path"])) {
                 $data["linktype"] = "internal";
                 $data["internalType"] = "document";
                 $data["internal"] = $document->getId();
             } elseif ($asset = Asset::getByPath($data["path"])) {
                 $data["linktype"] = "internal";
                 $data["internalType"] = "asset";
                 $data["internal"] = $asset->getId();
             } else {
                 $data["linktype"] = "direct";
                 $data["direct"] = $data["path"];
             }
         } else {
             // clear content of link
             $data["linktype"] = "internal";
             $data["direct"] = "";
             $data["internalType"] = null;
             $data["internal"] = null;
         }
         unset($data["path"]);
         $link->setValues($data);
     }
     $this->addPropertiesToDocument($link);
 }
All Usage Examples Of Pimcore\Model\Document::getByPath