我是Typo3的新手,我使用的是6.0版本。我做了一个自定义扩展,从新闻2.1扩展,我做了一些自定义字段,并创建了一种新的新闻类型,称为"活动"。我想做的是,当你从选择类型中选择"Activity"时,表单会重新加载我想要的自定义字段。
换句话说,我想重现当您将new的类型从"News"更改为"Internal page"时发生的情况,但是我想要的字段如下:(In ext_tables.php)
$tmp_activite_columns = array(
'act_field1' => array(
'exclude' => 0,
'label' => 'LLL:EXT:myExt/Resources/Private/Language/locallang_db.xlf:myExt.act_field1',
'config' => array(
'type' => 'input',
'size' => 30,
'eval' => 'trim'
),
),
'act_axe' => array(
'exclude' => 0,
'label' => 'LLL:EXT:myExt/Resources/Private/Language/locallang_db.xlf:myExt.act_axe',
'config' => array(
'type' => 'input',
'size' => 30,
'eval' => 'trim'
),
),
);
如何使用$tmp_activite_columns
使表单加载这些字段?
必须将这些列永久地添加到TCA中。通过TCA,你可以定义一个displayCond
(显示条件)到你想要显示的字段,如果另一个字段有一定的值。
我假设你的表单已经重新加载时,你选择的类型,所以这里是一个例子,displayCond
在TCA:
'act_field1' => array(
'displayCond' => 'FIELD:type:=:3',
'exclude' => 0,
'label' => 'LLL:EXT:myExt/Resources/Private/Language/locallang_db.xlf:myExt.act_field1',
'config' => array(
'type' => 'input',
'size' => 30,
'eval' => 'trim'
),
),
基本上你检查字段type是否有值3。您可以在TCA文档中找到有关displayCond
的更多信息。