mirror of
https://github.com/getgrav/grav.git
synced 2026-05-06 19:45:31 +02:00
Fixed multi-language saving issues with default language in Flex Pages
This commit is contained in:
@@ -17,9 +17,10 @@
|
||||
* Fixed fatal error if there are numeric folders in `Flex Pages`
|
||||
* Fixed error on missing `Flex` templates in if `Flex Objects` plugin isn't installed
|
||||
* Fixed `PageTranslateTrait::getAllLanguages()` and `getAllLanguages()` to include default language
|
||||
* Fixed multi-language saving issues with default language in `Flex Pages`
|
||||
* Grav 1.7: Fixed PHP 7.1 compatibility issues
|
||||
* Selfupgrade CLI: Fixed broken selfupgrade assets reference [#2681](https://github.com/getgrav/grav/issues/2681)
|
||||
|
||||
|
||||
# v1.7.0-beta.10
|
||||
## 10/03/2019
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace Grav\Common\Page\Flex;
|
||||
|
||||
use Grav\Common\Debugger;
|
||||
use Grav\Common\Grav;
|
||||
use Grav\Common\Language\Language;
|
||||
use Grav\Framework\Flex\Storage\FolderStorage;
|
||||
use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator;
|
||||
|
||||
@@ -25,6 +26,7 @@ class PageStorage extends FolderStorage
|
||||
protected $ignore_files;
|
||||
protected $ignore_folders;
|
||||
protected $ignore_hidden;
|
||||
protected $include_default_lang_file_extension;
|
||||
protected $recurse;
|
||||
protected $base_path;
|
||||
|
||||
@@ -44,6 +46,7 @@ class PageStorage extends FolderStorage
|
||||
$this->ignore_hidden = (bool)$config->get('system.pages.ignore_hidden');
|
||||
$this->ignore_files = (array)$config->get('system.pages.ignore_files');
|
||||
$this->ignore_folders = (array)$config->get('system.pages.ignore_folders');
|
||||
$this->include_default_lang_file_extension = $config->get('system.languages.include_default_lang_file_extension', true);
|
||||
$this->recurse = $options['recurse'] ?? true;
|
||||
$this->regex = '/(\.([\w\d_-]+))?\.md$/D';
|
||||
}
|
||||
@@ -185,6 +188,17 @@ class PageStorage extends FolderStorage
|
||||
$template = $row['template'] ?? $meta['template'] ?? $keyMeta['template'] ?? '';
|
||||
$lang = $row['lang'] ?? $meta['lang'] ?? $keyMeta['lang'] ?? '';
|
||||
|
||||
// Handle default language, if it should be saved without language extension.
|
||||
if ($lang && !$this->include_default_lang_file_extension && empty($meta['markdown'][$lang])) {
|
||||
$grav = Grav::instance();
|
||||
|
||||
/** @var Language $langauge */
|
||||
$language = $grav['language'];
|
||||
if ($lang === $language->getDefault()) {
|
||||
$lang = '';
|
||||
}
|
||||
}
|
||||
|
||||
$keys = [
|
||||
'key' => null,
|
||||
'params' => null,
|
||||
|
||||
Reference in New Issue
Block a user