两个值之间的 DisplayCond 等式

DisplayCond equation between two values

我想弄清楚当其他字段的两个值相同时如何在 TCA 中显示字段?

我的配置是我有两个字段 newold 以及一个字段 second。当 newold 相同或 new=1 时显示 second (这是有效的),我想到达那个字段。

$fields[] = array(
    'new' => array(
        'label' => "New ID",
        'exclude'   => 1,
        'config'    => array(
            'type' => 'input'
        )
    ),
);

$fields[] = array(
    'old' => array(
        'label' => "old ID",
        'exclude'   => 1,
        'config'    => array(
            'type' => 'input'
        )
    ),
);

$fields[] = array(
    'second' => array(
        'exclude'   => 1,
        'displayCond' => array(
            'OR' => array(
                'FIELD:new:=:1',
                'FIELD:new:=FIELD:old'
            )
        ),
        'config'    => array(
            'type' => 'input',
            'size' => '255',
        )
    ),
);

语法 ''FIELD:new:=FIELD:old' 不允许显示条件解析器(我在核心 v8 中重写)。因此,您无法直接比较两个不同字段的值,无法在显示条件层面解决您的问题。

您可以通过添加一个新的数据提供程序(可能在 EvaluateDisplayConditionDataProvider 之后)来解决您的问题,在您的特殊情况下删除您的列,请参阅 https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/FormEngine/Index.html 了解更多文档。