2013-08-07 5 views
0

에서 작동하지 않습니다.왜 평가 널 내가 같은 정의 필드를 가지고있는 TCA

'max_items' => array(
    'exclude' => 0, 
    'label' => '...', 
    'config' => array(
     'type' => 'input', 
     'eval' => 'null', 
    ), 
), 

편집 : 대신 예상 값 NULL을 저장하는, 그것은 0를 저장

이 들어 나는 작동하지 않습니다 TCA,이 구성을 사용합니다. max_items int(11) DEFAULT NULL을 시도했지만 효과가 없습니다.

편집 2 : Thanks freshp! 난 내 자신의 eval 함수 작성 결국 :이 구성을 사용

<?php 
class tx_myextension_evalfunc { 
    function evaluateFieldValue($sValue, $aIsIn, &$bSet) 
    { 
     return ($sValue === '') ? null : $sValue; 
    } 
} 
?> 

:

'max_items' => array(
    'exclude' => 0, 
    'label' => '...', 
    'config' => array(
     'type' => 'input', 
     'eval' => 'tx_myextension_evalfunc', 
    ), 
), 
+0

죄송 합니다만, "작동하지 않습니다."는별로 도움이되지 않습니다. 오류가 있습니까? DB에 실제로 저장되는 내용은 무엇입니까? 이 항목이 귀하의 입력란의 전체 설정입니까, 아니면 항목을 빠뜨린 것입니까? – Michael

+1

데이터베이스 필드에 "max_items int (11) DEFAULT NULL"을 사용해야합니다. – freshp

+0

의견을 주셔서 감사합니다. 질문을 편집했습니다. – user125661

답변

2

이 버그는 TYPO3 6.0 이상에서 fixed입니다. 이 옵션이 활성화

'config' = array(
    'type' => 'input', 
    'eval' => 'null', 
    ... 
); 

경우, 입력의 오른쪽에 체크 박스가 다음 TCA의 설정에서 "널 (null)"새로운 평가의 옵션이 있습니다. 비활성화 된 경우 NULL 값이 데이터베이스에 저장되고 활성화 된 경우 정수 값을 입력 할 수 있습니다.


원래 답 :

당신을 위해 두 개의 흥미로운 링크가 있습니다