Flex Directory: Implemented customizable configuration

This commit is contained in:
Matias Griese 2020-02-06 16:53:54 +02:00
parent 75ee0670f6
commit 5ea7ec1013
3 changed files with 13 additions and 3 deletions

View File

@ -3,6 +3,7 @@
1. [](#new)
* Plugins & Themes: Call `$plugin->autoload()` and `$theme->autoload()` automatically when object gets initialized
* Flex Directory: Implemented customizable configuration
* Flex Storages: Added support for renaming directory entries
1. [](#bugfix)
* Regression: Fixed fatal error in blueprints [#2811](https://github.com/getgrav/grav/issues/2811)

View File

@ -2,7 +2,7 @@ form:
validation: loose
fields:
plugin_tabs:
tabs:
type: tabs
fields:
cache:

View File

@ -183,9 +183,17 @@ class FlexDirectory implements FlexAuthorizeInterface
public function getDirectoryBlueprint()
{
$name = 'configure';
$type = $this->getBlueprint();
$overrides = $type->get("blueprints/{$name}");
$path = "blueprints://flex/shared/{$name}.yaml";
$blueprint = new Blueprint($path);
$blueprint->load()->init();
$blueprint->load();
if ($overrides) {
$blueprint->embed('form/fields/tabs/fields', $overrides['fields']);
}
$blueprint->init();
return $blueprint;
}
@ -237,8 +245,9 @@ class FlexDirectory implements FlexAuthorizeInterface
public function getDirectoryConfigUri(string $name = null): string
{
$name = $name ?: $this->getFlexType();
$blueprint = $this->getBlueprint();
return "config://flex/{$name}.yaml";
return $blueprint->get('blueprints/configure/file') ?? "config://flex/{$name}.yaml";
}
protected function getDirectoryConfig(string $name = null): array