protected function getPath()
{
$filesystem = $this->container->filesystem;
if (is_null($this->fullPath) && !empty($this->layoutId)) {
$parts = explode('.', $this->layoutId);
$file = array_pop($parts);
$filePath = implode('/', $parts);
$suffixes = $this->container->platform->getTemplateSuffixes();
foreach ($suffixes as $suffix) {
$files[] = $file . $suffix . '.php';
}
$files[] = $file . '.php';
$platformDirs = $this->container->platform->getPlatformBaseDirs();
$prefix = $this->container->platform->isBackend() ? $platformDirs['admin'] : $platformDirs['root'];
$possiblePaths = array($prefix . '/templates/' . $this->container->platform->getTemplate() . '/html/layouts/' . $filePath, $this->basePath . '/' . $filePath, $platformDirs['root'] . '/layouts/' . $filePath);
reset($files);
while ((list(, $fileName) = each($files)) && is_null($this->fullPath)) {
$r = $filesystem->pathFind($possiblePaths, $fileName);
$this->fullPath = $r === false ? null : $r;
}
}
return $this->fullPath;
}