diff --git a/code/models/DocumentationFolder.php b/code/models/DocumentationFolder.php index a3132f8..18277e6 100644 --- a/code/models/DocumentationFolder.php +++ b/code/models/DocumentationFolder.php @@ -14,10 +14,7 @@ class DocumentationFolder extends DocumentationPage { * @return string */ public function getTitle() { - $path = explode(DIRECTORY_SEPARATOR, trim($this->getPath(), DIRECTORY_SEPARATOR)); - $folderName = array_pop($path); - - return DocumentationHelper::clean_page_name($folderName); + return $this->getTitleFromFolder(); } } \ No newline at end of file diff --git a/code/models/DocumentationPage.php b/code/models/DocumentationPage.php index 8613a04..53aaea7 100755 --- a/code/models/DocumentationPage.php +++ b/code/models/DocumentationPage.php @@ -103,17 +103,29 @@ class DocumentationPage extends ViewableData { $page = DocumentationHelper::clean_page_name($this->filename); if($page == "Index") { - // look at the folder name - $parts = explode("/", $this->getPath()); - array_pop($parts); // name - - $page = DocumentationHelper::clean_page_name( - array_pop($parts) - ); + return $this->getTitleFromFolder(); } return $page; } + + public function getTitleFromFolder() { + $folder = $this->getPath(); + $entity = $this->getEntity()->getPath(); + + $folder = str_replace('index.md', '', $folder); + + // if it's the root of the entity then we want to use the entity name + // otherwise we'll get 'En' for the entity folder + if($folder == $entity) { + return $this->getEntity()->getTitle(); + } else { + $path = explode(DIRECTORY_SEPARATOR, trim($folder, DIRECTORY_SEPARATOR)); + $folderName = array_pop($path); + } + + return DocumentationHelper::clean_page_name($folderName); + } /** * @return string