component = $component; } /** * Returns the directory name corresponding to the object type. * For pages the directory name is "pages", for layouts - "layouts", etc. * @return string */ public static function getObjectTypeDirName() { return 'partials'; } /** * Returns the full path to the template file corresponding to this object. * @return string */ public function getFullPath() { return static::getFilePath($this->component, $this->fileName); } /** * Returns the absolute file path. * @param \Cms\Classes\ComponentBase $component Specifies a component the file belongs to. * @param string$fileName Specifies the file name to return the path to. * @return string */ public static function getFilePath($component, $fileName) { $path = $component->getPath().'/'.$fileName; /* * Check the shared "/partials" directory for the partial */ if (!File::isFile($path)) { $sharedDir = dirname($component->getPath()).'/partials'; $sharedPath = $sharedDir.'/'.$fileName; if (File::isFile($sharedPath)) return $sharedPath; } return $path; } }