如何在 PyroCMS 的 TableBuilder 中显示 Select 字段类型的值?
How to show the value of Select Field Type in PyroCMS's TableBuilder?
我有一个名为 type
的字段,它是一个 select field type
。我在表单构建器的 select HTML element
中看到的是值而不是键,但是在 table 构建器中我只看到键而不是值。很明显,它们是如何从数据库派生的,但是是否有设置来切换它?我不想对此进行硬编码。我在文档中阅读了一些相关页面,但找不到为此的配置。
protected $fields = [
'type' => [
'type' => 'anomaly.field_type.select',
'config' => [
'options' => ['foo' => 'Foo', 'bar' => 'Bar'],
'mode' => 'dropdown'
]
]
];
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>")',
],
];
您的 table 列值将如下所示:
protected $columns = [
'type', // Shows the KEY value for select field types
'entry.type.value', // Would show the label value for select field type
];
请注意,您可以轻松访问 Presenter 方法,并通过在列中添加前缀 entry.
来保留自动字段操作。
我有一个名为 type
的字段,它是一个 select field type
。我在表单构建器的 select HTML element
中看到的是值而不是键,但是在 table 构建器中我只看到键而不是值。很明显,它们是如何从数据库派生的,但是是否有设置来切换它?我不想对此进行硬编码。我在文档中阅读了一些相关页面,但找不到为此的配置。
protected $fields = [
'type' => [
'type' => 'anomaly.field_type.select',
'config' => [
'options' => ['foo' => 'Foo', 'bar' => 'Bar'],
'mode' => 'dropdown'
]
]
];
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>")',
],
];
您的 table 列值将如下所示:
protected $columns = [
'type', // Shows the KEY value for select field types
'entry.type.value', // Would show the label value for select field type
];
请注意,您可以轻松访问 Presenter 方法,并通过在列中添加前缀 entry.
来保留自动字段操作。