2017-04-05 41 views
2

我想弄明白如何在两个其他字段的值相同时显示TCA中的字段?两个值之间的DisplayCond方程

我的配置是,我有两个字段newold和一个字段second。我想要达到该字段second显示时newold是相同的或new=1(这是工作)。

$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', 
     ) 
    ), 
); 

回答

1

语法“”领域:新:= FIELD:旧”不是由显示条件解析器(我在芯V8重写)允许的。因此,您无法直接比较两个不同字段的值,并且无法在显示条件级别上解决问题。

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