From 29213669072ec7ccc07f7f255e73bf02bc4065b7 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Tue, 12 Apr 2022 13:16:28 +0300 Subject: [PATCH] Implemented media ordering by field --- system/src/Grav/Common/Media/Traits/MediaTrait.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/system/src/Grav/Common/Media/Traits/MediaTrait.php b/system/src/Grav/Common/Media/Traits/MediaTrait.php index 8315d988f..b53bffd5d 100644 --- a/system/src/Grav/Common/Media/Traits/MediaTrait.php +++ b/system/src/Grav/Common/Media/Traits/MediaTrait.php @@ -21,6 +21,7 @@ use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; use Throwable; use function array_key_exists; use function in_array; +use function is_array; use function strlen; /** @@ -144,11 +145,18 @@ trait MediaTrait /** @var MediaFactory $factory */ $factory = Grav::instance()['media_factory']; + $order = $this->getNestedProperty($field); + if (is_array($order)) { + $order = array_is_list($order) ? $order : array_keys($order); + } else { + $order = []; + } + $params = $settings['media'] ?? []; $params += [ 'object' => $this, 'path' => $settings[$var], - 'order' => [], // TODO: ordering from the stored value? + 'order' => $order, 'load' => true ];