diff --git a/system/src/Grav/Common/Page/Flex/PageIndex.php b/system/src/Grav/Common/Page/Flex/PageIndex.php index 396300fb1..8c6871d5f 100644 --- a/system/src/Grav/Common/Page/Flex/PageIndex.php +++ b/system/src/Grav/Common/Page/Flex/PageIndex.php @@ -303,6 +303,7 @@ class PageIndex extends FlexPageIndex $child->routable() ? 'routable' : 'non-routable' ]; $lang = $child->findTranslation($language) ?? 'n/a'; + $child = $child->getTranslation($language) ?? $child; $extras = [ 'template' => $child->template(), 'lang' => $lang ?: null, diff --git a/system/src/Grav/Framework/Flex/Pages/Traits/PageLegacyTrait.php b/system/src/Grav/Framework/Flex/Pages/Traits/PageLegacyTrait.php index b545afb43..afd6ec260 100644 --- a/system/src/Grav/Framework/Flex/Pages/Traits/PageLegacyTrait.php +++ b/system/src/Grav/Framework/Flex/Pages/Traits/PageLegacyTrait.php @@ -56,8 +56,8 @@ trait PageLegacyTrait */ public function raw($var = null): string { - // TODO: if (null !== $var) { + // TODO: throw new \RuntimeException(__METHOD__ . '(string): Not Implemented'); } @@ -81,8 +81,8 @@ trait PageLegacyTrait */ public function frontmatter($var = null): string { - // TODO: if (null !== $var) { + // TODO: throw new \RuntimeException(__METHOD__ . '(string): Not Implemented'); } @@ -689,8 +689,8 @@ trait PageLegacyTrait */ public function filePath($var = null): ?string { - // TODO: if (null !== $var) { + // TODO: throw new \RuntimeException(__METHOD__ . '(string): Not Implemented'); } diff --git a/system/src/Grav/Framework/Flex/Pages/Traits/PageRoutableTrait.php b/system/src/Grav/Framework/Flex/Pages/Traits/PageRoutableTrait.php index 4bdc313f9..90b96a6c9 100644 --- a/system/src/Grav/Framework/Flex/Pages/Traits/PageRoutableTrait.php +++ b/system/src/Grav/Framework/Flex/Pages/Traits/PageRoutableTrait.php @@ -309,8 +309,8 @@ trait PageRoutableTrait */ public function path($var = null): ?string { - // TODO: if (null !== $var) { + // TODO: throw new \RuntimeException(__METHOD__ . '(string): Not Implemented'); } @@ -388,7 +388,13 @@ trait PageRoutableTrait $directory = $this->getFlexDirectory(); $parentKey = ltrim(dirname("/{$this->getKey()}"), '/'); if ($parentKey) { - return $directory->getObject($parentKey); + $parent = $directory->getObject($parentKey); + $language = $this->getLanguage(); + if ($language) { + $parent = $parent->getTranslation($language) ?? $parent; + } + + return $parent; } $index = $directory->getIndex();