Index: branches/5.0.x/core/kernel/utility/formatters/multilang_formatter.php =================================================================== diff -u -N -r13349 -r13355 --- branches/5.0.x/core/kernel/utility/formatters/multilang_formatter.php (.../multilang_formatter.php) (revision 13349) +++ branches/5.0.x/core/kernel/utility/formatters/multilang_formatter.php (.../multilang_formatter.php) (revision 13355) @@ -1,6 +1,6 @@ Fields[$field_name]['required']); // prevents real field with formatter set to be saved in db + $virtual_fields[$field_name] = $object->Fields[$field_name]; $object->VirtualFields[$field_name] = $object->Fields[$field_name]; - - $this->Application->setUnitOption($object->Prefix, 'Fields', $fields); } - - // substitude virtual field - if (array_key_exists($field_name, $virtual_fields)) { + elseif (array_key_exists($field_name, $virtual_fields)) { + // substitude virtual field $calculated_fields = $this->Application->getUnitOption($object->Prefix, 'CalculatedFields'); $calculated_field_special = array_key_exists($object->Special, $calculated_fields) ? $object->Special : (array_key_exists('', $calculated_fields) ? '' : false); @@ -149,6 +147,7 @@ } // manually copy virtual field back to fields (see kDBBase::setVirtualFields about that) + $fields[$translated_field] = $tmp_field_options; $object->Fields[$translated_field] = $tmp_field_options; } @@ -164,8 +163,6 @@ // makes original field non-required unset($virtual_fields[$field_name]['required'], $object->VirtualFields[$field_name]['required']); - - $this->Application->setUnitOption($object->Prefix, 'VirtualFields', $virtual_fields); } //substitude grid fields @@ -205,9 +202,9 @@ $this->Application->setUnitOption($object->Prefix, 'ListSortings', $sortings); //TODO: substitude possible language-fields sortings after changing language - $fields[$field_name]['options_processed'] = $field_options['options_processed'] = true; $this->Application->setUnitOption($object->Prefix, 'Fields', $fields); + $this->Application->setUnitOption($object->Prefix, 'VirtualFields', $virtual_fields); } /*function UpdateSubFields($field, $value, &$options, &$object)