Index: branches/RC/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r10098 -r10103 --- branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 10098) +++ branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 10103) @@ -1084,17 +1084,21 @@ $object =& $this->getObject($params); $formatter_class = getArrayValue($object->Fields, $field, 'formatter'); - if ($formatter_class == 'kMultiLanguage') - { + if ($formatter_class == 'kMultiLanguage') { $formatter =& $this->Application->recallObject($formatter_class); /* @var $formatter kMultiLanguage */ $force_primary = isset($object->Fields[$field]['force_primary']) && $object->Fields[$field]['force_primary']; $field = $formatter->LangFieldName($field, $force_primary); } - $id_field = getArrayValue($params, 'IdField'); - $id = $id_field ? $object->GetDBField($id_field) : $object->GetID(); + if (array_key_exists('force_id', $params)) { + $id = $params['force_id']; + } + else { + $id_field = getArrayValue($params, 'IdField'); + $id = $id_field ? $object->GetDBField($id_field) : $object->GetID(); + } return Array($id, $field); }