TYPO3 $ GLOBALS ['LANG']

时间:2016-04-28 06:59:42

标签: xml typo3 global lang typo3-4.5

我使用TYPO3 4.5。需要在扩展类中获取标签TCA记录的文本。我使用$ GLOBALS [ 'LANG'] -> sL ($ label)。当我登录BE GLOBALS [ 'LANG']时,对象nad都没问题。但是当注销时,$ GLOBALS [ 'LANG'] = NULL在rerult中有错误。 当我退出时,如何制作$ GLOBALS [ 'LANG'] = not null

我的代码:

    public function getСolumnValueTca($table,$column,$uid){

    if ($column && $table) {
        $output = null;
        //-----------------------------------
        if ($uid){
            //Ищем нужную запись
            foreach($TCA[$table]['columns'][$column]['config']['items'] as $key => $value){
                if($value['1'] == $uid){
                    $label = $TCA[$table]['columns'] [$column]['config']['items'][$key]['0'];
                    break;
                }
            }
            //------------------------------------------------------------------------------
            if(isset($label)){
                $output[$uid] = array(
                    'value' => $GLOBALS['LANG']->sL($label)
                );
            } else
                $output = false;
        } else {
            //Вытаскиваем все возможные значения
            foreach($TCA[$table]['columns'][$column]['config']['items'] as $key => $value){
                $label = $TCA[$table]['columns'][$column]['config']['items'][$key]['0'];
                $output[$TCA[$table]['columns'][$column]['config']['items'][$key]['1']] = array(
                    'value' => $GLOBALS['LANG']->sL($label)
                );
            }
            //----------------------------------------------------------------------------
        }
    } else
        $output = null;
    return $output;
}

1 个答案:

答案 0 :(得分:1)

请尝试以下操作:

$GLOBALS['TSFE']->sL('LLL:EXT:your_ext/pi1/locallang.xml:tx_yourext_pi1.label', 'altIfLabelNotFound'),