diff --git a/composer.json b/composer.json index 775a77125..be8ec9598 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "mrclay/minify": "~2.2", "donatj/phpuseragentparser": "~0.3", "pimple/pimple": "~3.0", - "rockettheme/toolbox": "1.0.*" + "rockettheme/toolbox": "1.1.*" }, "autoload": { "psr-4": { diff --git a/system/src/Grav/Common/Page/Page.php b/system/src/Grav/Common/Page/Page.php index 2cb8a63d3..37ee9e3b7 100644 --- a/system/src/Grav/Common/Page/Page.php +++ b/system/src/Grav/Common/Page/Page.php @@ -154,7 +154,11 @@ class Page if (file_exists($path)) { $aPage = new Page(); $aPage->init(new \SplFileInfo($path), $language .'.md'); - $translatedLanguages[$language] = isset($aPage->header()->routes['default']) ? $aPage->header()->routes['default'] : $aPage->rawRoute(); + + $route = isset($aPage->header()->routes['default']) ? $aPage->header()->routes['default'] : $aPage->rawRoute(); + if (!$route) $route = $aPage->slug(); + + $translatedLanguages[$language] = $route; } } diff --git a/system/src/Grav/Common/Utils.php b/system/src/Grav/Common/Utils.php index 2cd81ada6..d7421c9b6 100644 --- a/system/src/Grav/Common/Utils.php +++ b/system/src/Grav/Common/Utils.php @@ -437,4 +437,18 @@ abstract class Utils } return $result; } + + public static function pathPrefixedByLangCode($string) + { + $languages_enabled = self::getGrav()['config']->get('system.languages.supported', []); + + if ($string[0] == '/' && $string[3] == '/' && in_array(substr($string, 1, 2), $languages_enabled)) { + return true; + } + + return false; + } + + + }