Рейтинг:0

Не удается получить определение хранилища поля в пользовательском объекте

флаг ni

У меня есть пользовательский объект myentity с некоторыми полями, и одно из них является полем таксономии со следующим определением:

 $fields['colors'] = BaseFieldDefinition::create('entity_reference')
                ->setLabel(t('Цвета'))
                -> установитьОписание (т (''))
                -> setRequired (ЛОЖЬ)
                ->setSetting('target_type', 'taxonomy_term')
                ->setSetting('обработчик', 'по умолчанию:taxonomy_term')
                ->setSetting('handler_settings',
                        множество(
                            'target_bundles' => массив (
                                'цвета' => 'цвета'
                    )))                
                ->setDisplayOptions('представление', массив(
                    'метка' => 'выше',
                    'тип' => 'автор',
                    'вес' => 0,
                ))
              ->setDisplayOptions('форма', [
                    'тип' => 'options_select',
                    'вес' => 0,
                ])
                ->setDisplayConfigurable('форма', ИСТИНА)
                ->setDisplayConfigurable('вид', ИСТИНА);

Это работает хорошо, и я могу использовать свою сущность без каких-либо проблем. Но есть проблема:

FieldStorageConfig::loadByName('myentity','colors');

возвращает NULL.

Я не знаю почему, но я думаю, что он должен вернуть мое определение поля. Поскольку это не сработало, я попытался использовать "drush upe" (с этим модуль), которые позволяют убедиться, что определение поля правильное, но безуспешно.

4uk4 avatar
флаг cn
Нет, он не должен возвращать ваше базовое определение поля. Только настроенные поля.
флаг ni
Спасибо. Но что вы имеете в виду только с настроенными полями? Я не понимаю тебя.
4uk4 avatar
флаг cn
Вместо определения базового поля в коде вы можете настроить поле в пользовательском интерфейсе или указать конфигурацию в папке модуля /config/install как YAML. Тогда команда вернет результат.
флаг ni
Хорошо. Спасибо. Я попытаюсь создать файл конфигурации в папке установки. Я не уверен, смогу ли я сгенерировать его из текущего определения сущности. Есть ли способ сделать это?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.