Contao 4.10:带有 fileTree 的 DCA 元字段
Contao 4.10: DCA metaFields with fileTree
我需要在文件管理中 link 图片和音频文件的可能性。
我遵循了本教程并创建了该字段,但仅作为一个简单的输入字段。
https://docs.contao.org/dev/reference/dca/fields/#meta-wizard-fields
然后我添加了一个标准的 DCA 设置
<?php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['audiolink'] = [
'inputType' => 'fileTree',
'eval' => ['filesOnly' => true, 'fieldType' => 'radio', 'mandatory' => false],
'sql' => ['type' => 'string', 'length' => 255, 'default' => ''],
];
但这不起作用。
有了这个我得到了页面树向导
<?php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['audiolink'] = [
'attributes' => 'maxlength="255"', 'dcaPicker' => true
];
然后我试了这个
<?php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['audiolink'] = [
'attributes' => 'maxlength="255"', 'fileTree' => true
];
但这也行不通。那么如何让“fileTree”向导在文件管理中工作呢?
你不能,元向导仅支持 text
字段(以及自 Contao 4.9.10 以来的 textarea
字段)。
您可以向 tl_files
添加一个附加字段,而不是使用 tl_files.meta
:
// contao/dca/tl_files.php
use Contao\CoreBundle\DataContainer\PaletteManipulator;
$GLOBALS['TL_DCA']['tl_files']['fields']['foobar'] = [
'inputType' => 'fileTree',
'eval' => ['filesOnly' => true, 'fieldType' => 'radio', 'mandatory' => false],
'sql' => "binary(16) NULL"
];
PaletteManipulator::create()
->addField('foobar', null)
->applyToPalette('default', 'tl_files')
;
然而,这当然意味着您可以 select 这个文件只能按文件而不是按语言按文件。
我需要在文件管理中 link 图片和音频文件的可能性。 我遵循了本教程并创建了该字段,但仅作为一个简单的输入字段。 https://docs.contao.org/dev/reference/dca/fields/#meta-wizard-fields
然后我添加了一个标准的 DCA 设置
<?php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['audiolink'] = [
'inputType' => 'fileTree',
'eval' => ['filesOnly' => true, 'fieldType' => 'radio', 'mandatory' => false],
'sql' => ['type' => 'string', 'length' => 255, 'default' => ''],
];
但这不起作用。
有了这个我得到了页面树向导
<?php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['audiolink'] = [
'attributes' => 'maxlength="255"', 'dcaPicker' => true
];
然后我试了这个
<?php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['audiolink'] = [
'attributes' => 'maxlength="255"', 'fileTree' => true
];
但这也行不通。那么如何让“fileTree”向导在文件管理中工作呢?
你不能,元向导仅支持 text
字段(以及自 Contao 4.9.10 以来的 textarea
字段)。
您可以向 tl_files
添加一个附加字段,而不是使用 tl_files.meta
:
// contao/dca/tl_files.php
use Contao\CoreBundle\DataContainer\PaletteManipulator;
$GLOBALS['TL_DCA']['tl_files']['fields']['foobar'] = [
'inputType' => 'fileTree',
'eval' => ['filesOnly' => true, 'fieldType' => 'radio', 'mandatory' => false],
'sql' => "binary(16) NULL"
];
PaletteManipulator::create()
->addField('foobar', null)
->applyToPalette('default', 'tl_files')
;
然而,这当然意味着您可以 select 这个文件只能按文件而不是按语言按文件。