Skip to content

Commit 05ce686

Browse files
committed
refactor: use Localizedfield::setGetFallbackValues instead of manual fallback chain
1 parent 8b25786 commit 05ce686

1 file changed

Lines changed: 7 additions & 23 deletions

File tree

src/Grid/Util/Trait/LocalizedValueTrait.php

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
namespace Pimcore\Bundle\StudioBackendBundle\Grid\Util\Trait;
1515

1616
use Pimcore\Bundle\StudioBackendBundle\Grid\Schema\Column;
17+
use Pimcore\Model\DataObject\Localizedfield;
1718
use Pimcore\Model\Element\ElementInterface;
18-
use Pimcore\Tool;
1919

2020
/**
2121
* @internal
@@ -26,23 +26,12 @@ private function getLocalizedValue(Column $column, ElementInterface $element): m
2626
{
2727
$getter = $this->getGetter($column->getKey());
2828
if ($column->getLocale()) {
29-
$value = $element->$getter($column->getLocale());
30-
31-
if ($column->getApplyFallbackLanguages() && $this->isEmptyValue($value)) {
32-
$fallbackLocales = Tool::getFallbackLanguagesFor($column->getLocale());
33-
34-
// Also try the system default language as a final fallback
35-
$defaultLanguage = Tool::getDefaultLanguage();
36-
if ($defaultLanguage !== null && $defaultLanguage !== $column->getLocale() && !in_array($defaultLanguage, $fallbackLocales, true)) {
37-
$fallbackLocales[] = $defaultLanguage;
38-
}
39-
40-
foreach ($fallbackLocales as $fallbackLocale) {
41-
$value = $element->$getter($fallbackLocale);
42-
if (!$this->isEmptyValue($value)) {
43-
break;
44-
}
45-
}
29+
if ($column->getApplyFallbackLanguages()) {
30+
Localizedfield::setGetFallbackValues(true);
31+
$value = $element->$getter($column->getLocale());
32+
Localizedfield::setGetFallbackValues(false);
33+
} else {
34+
$value = $element->$getter($column->getLocale());
4635
}
4736

4837
return $value;
@@ -65,9 +54,4 @@ private function getGetter(string $key): string
6554
{
6655
return 'get' . ucfirst($key);
6756
}
68-
69-
private function isEmptyValue(mixed $value): bool
70-
{
71-
return $value === null || $value === '' || $value === [];
72-
}
7357
}

0 commit comments

Comments
 (0)