2017-04-05 34 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瞭解更多文檔,以解決您的問題。