Index: trunk/core/units/relationship/relationship_event_handler.php =================================================================== diff -u -N -r4722 -r5373 --- trunk/core/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 4722) +++ trunk/core/units/relationship/relationship_event_handler.php (.../relationship_event_handler.php) (revision 5373) @@ -121,9 +121,17 @@ $sql_parts = Array(); $sql_parts['TargetName'] = "''"; - foreach($configs as $prefix => $config_data) - { - $sql_parts['ItemName'][] = sprintf($sql_templates['ItemName'], $config_data['TableName'], $config_data['TitleField']); + foreach ($configs as $prefix => $config_data) { + // convert TitleField field of kMultiLanguage formatter used for it: begin + $title_field = $config_data['TitleField']; + $formatter_class = isset($config_data['Fields'][$title_field]['formatter']) ? $config_data['Fields'][$title_field]['formatter'] : ''; + if ($formatter_class == 'kMultiLanguage') { + $ml_formatter =& $this->Application->recallObject('kMultiLanguage'); + $title_field = $ml_formatter->LangFieldName($title_field); + } + // convert TitleField field of kMultiLanguage formatter used for it: end + + $sql_parts['ItemName'][] = sprintf($sql_templates['ItemName'], $config_data['TableName'], $title_field); $sql_parts['TableJoin'][] = sprintf($sql_templates['TableJoin'], $config_data['TableName']); $sql_parts['TargetName'] = sprintf( $sql_templates['TargetName'], @@ -139,9 +147,8 @@ $replacements = Array( implode(', ',$sql_parts['ItemName']), $sql_parts['TargetName'] ); $calculated_fields =& $object->getProperty('CalculatedFields'); - foreach($calculated_fields as $field_name => $field_expression) - { - $calculated_fields[$field_name] = str_replace($vars,$replacements,$field_expression); + foreach ($calculated_fields as $field_name => $field_expression) { + $calculated_fields[$field_name] = str_replace($vars, $replacements, $field_expression); } $object->setProperty('CalculatedFields', $calculated_fields);