--- Kopie von class.tslib_content.php Fri Mar 10 01:02:38 2006 +++ class.tslib_content.php Tue Mar 14 08:54:46 2006 @@ -6650,15 +6650,16 @@ class tslib_cObj { $query.=' AND '.$where; } - if ($conf['languageField']) { - if ($GLOBALS['TSFE']->sys_language_contentOL && $TCA[$table] && $TCA[$table]['ctrl']['languageField'] && $TCA[$table]['ctrl']['transOrigPointerField']) { - // Sys language content is set to zero/-1 - and it is expected that whatever routine processes the output will OVERLAY the records with localized versions! - $sys_language_content = '0,-1'; - } else { - $sys_language_content = intval($GLOBALS['TSFE']->sys_language_content); + // select the record in the correct language + if($TCA[$table] && ($TCA[$table]['ctrl']['languageField'] || $conf['languageField'])) { + $lField = $conf['languageField']? $conf['languageField'] : $TCA[$table]['ctrl']['languageField']; + if(!empty($lField)) { + t3lib_div::loadTCA($table); + if(!empty($TCA[$table]['columns'][$lField])) { + $query.=' AND '.$lField.' IN ('.$GLOBALS['TSFE']->sys_language_content.')'; + } } - $query.=' AND '.$conf['languageField'].' IN ('.$sys_language_content.')'; - } + } $andWhere = trim($this->stdWrap($conf['andWhere'],$conf['andWhere.'])); if ($andWhere) {