Как показать значение «Выбрать тип поля» в TableBuilder PyroCMS? - PullRequest
0 голосов
/ 02 июля 2018

У меня есть поле с именем type, и это select field type. Я вижу значения вместо ключей в select HTML element построителя форм, но в построителе таблиц я вижу только ключ как не значения. Понятно, что, как они получены из базы данных, но есть ли параметр, чтобы переключить это? Я не хочу жестко кодировать это. Я прочитал некоторые связанные страницы в документах, но не смог найти конфигурацию для этого.

    protected $fields = [
        'type' => [
            'type' => 'anomaly.field_type.select',
            'config' => [
                'options'       => ['foo' => 'Foo', 'bar' => 'Bar'],
                'mode'          => 'dropdown'
            ]
        ]
    ];

Ответы [ 2 ]

0 голосов
/ 07 июля 2018

Ваше значение столбца таблицы будет выглядеть примерно так:

protected $columns = [ 'type', // Shows the KEY value for select field types 'entry.type.value', // Would show the label value for select field type ];

Обратите внимание, что вы можете легко получать доступ к методам презентаторов И сохранять автоматические полевые операции в столбцах, используя префикс entry..

0 голосов
/ 03 июля 2018

selectFT имеет

/* @var SelectFieldType $fieldType */
$fieldType = $entry->getFieldType('type');

$presenter = (new Decorator())->decorate($fieldType);

dd([
    'key'     => $presenter->key(),
    'value'   => $presenter->value(),
    'options' => $fieldType->getOptions(),
]);

Кроме того, вы можете определить столбцы так:

/**
 * Table's columns
 *
 * @var array
 */
protected $columns = [
    'name' => [
        'heading' => 'Name',
        'value'   => '<strong>{entry.name}</strong>',
    ],
    'type' => [
        'heading' => 'Type',
    ],
    'categories' => [
        'heading' => 'Categories',
        'value'   => 'entry.type.categories.pluck("name")|join("<br>")',
    ],
];
...