Drupal generally displays items with the same weight in alphabetic order, but CCK is not doing this. Fields with the same weight are sorted by the name of the field, which is only alphabetic if the field names happen to be alphabetic. When field labels have been changed since the fields were created, or if translated values are used for field labels, fields are not going to end up in alphabetic order.
CCK field arrays use the field names as keys, and the expectation that the keys are the field names is hard-coded throughout both core and contributed modules, so we can't change that. The default sort of fields coming out of the database can't rely on translated labels for fields, since translated values are not stored in the database. This means we need to re-order the fields just before we output them to forms or views. I think this needs to be done in order for CCK to be in conformance with the way things usually behave in Drupal, so I'm marking this as a bug report.
Comments
Comment #1
Mac Clemmens commentedI'm having this same issue! Is there a patch for this?
Comment #2
shrop commentedSame problem here. Looks like this issue has been out there a while. How are folks dealing with this?
Thanks!
Shrop
Comment #3
ilmaestro commentedSame issue here, and it's bugging me. Any patches?
Comment #4
moshe weitzman commentedJust drag and drop the fields around in D6. Downgrade to minor.
Comment #5
karens commentedI would say that this is by design in D6 -- you're expected to drag and drop your fields into whatever order you want them.