is there a way to make certain field mandatory, or the 6 extra fields as drop downs ? (i think it can be done manually in the template, but is there a automatic way to render those fields)?
The 6 extra fields are mandatory but those are simple input boxes in the uploadproduct template.
You can alter the html in uploadproduct for those if you wish. The additional extra fields where you can on the back end create any number of html boxes are not mandatory.
As a suggestion, your handling of drop down custom fields is pretty good. Then, why not make all extra fields of the same type, AND have a mandatory/optional flag with them? you are anyway keeping a table for the extra fields, so might it not make sense to handle all extra fields using that. just a suggestion which would be very useful.