1414namespace Pimcore \Bundle \StudioBackendBundle \Grid \Util \Trait ;
1515
1616use Pimcore \Bundle \StudioBackendBundle \Grid \Schema \Column ;
17+ use Pimcore \Model \DataObject \Localizedfield ;
1718use 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