Index: trunk/core/kernel/utility/formatters/serialized_formatter.php =================================================================== diff -u -N -r4758 -r8402 --- trunk/core/kernel/utility/formatters/serialized_formatter.php (.../serialized_formatter.php) (revision 4758) +++ trunk/core/kernel/utility/formatters/serialized_formatter.php (.../serialized_formatter.php) (revision 8402) @@ -2,10 +2,19 @@ class kSerializedFormatter extends kFormatter { + function Parse($value, $field_name, &$object) + { + $options = $object->GetFieldOptions($field_name); + $value = array_merge_recursive2(unserialize($options['default']), $value); + return serialize($value); + } + function Format($value, $field_name, $object, $format=null) { $data = unserialize($value); - return $data[$format]; + $format = explode('.', $format); + $format = '\''.implode('\', \'', $format).'\''; + return eval('return getArrayValue($data, '.$format.');'); } }