Keystonejs интерфейс администратора: Вид поле вместо идентификатора для отношений

Обновить

April 2019

Просмотры

122 раз

1

Это довольно простой вопрос:

Когда у меня есть nameполе в списке , который я установил связь с, отношения правильно показывает имя связанного документа. Например, в этом списке у меня есть поле с именем , businessкоторое имеет отношение на Businessсписок , который имеет nameполе.

Название компании показано правильно

Но когда мои отношения к списку , который не имеет nameполя, только идентификатор отображается в интерфейсе администратора , как это:

введите описание изображения здесь

Что, очевидно, очень impratical.

Как я могу настроить трапецию, чтобы показать конкретное поле в админ интерфейсе, чтобы представить этот документ?

1 ответы

3

Keystone only shows the name field as a document header or relationship summary.

But there is a simple solution to use a custom field as a name field : the map option. When creating the model, map the field you want to display to the name field.

For example, I have localized text fields, and I want to display the english version by default :

const LocalizedText = new keystone.List('LocalizedText', {
  map: { name: 'en' } // <=== This is the solution
});

LocalizedText.add({
  fr: { type: String },
  en: { type: String }
});

LocalizedText.register();

Here is the documentation :

map

An object that maps fields to special list paths. Each path defaults to its key if a field with that key is added. Mappable paths include

name - the field that contains the name of the item, for display in the Admin UI.

Связанные вопросы