Our store has happily used the Product Extra Fields 2.0j contribution until someone asked why a search wasn't working when looking for two values, each contained in a different extra field for the product. Upon examining the search code I suddenly realized that it would be impossible to do a simple search on more than one field since only one field at a time could be linked to a product. Searching more than one extra field would require code that is much more complicated than I wanted to attempt writing. I thus decided that writing a completely new contribution would be easier.
Extra Product Fields creates its new fields in the products_descriptions database file which makes searching multiple fields easier, especially when searching using multiple terms that may be divided among several fields.
This contribution is completely multi-language compatible. Unlike Product Extra Fields which allowed a field to only be either for one language or for all languages and used the same field label for all languages, Extra Product Fields allows a field to apply to any number of languages and stores a separate label for each language so you can translate the label as appropriate.
Field entry during product maintenance can be either as standard text, or selected from a list of drop down values that you define after creating the field, and can be different for each field. The drop down values are set separately for each language so they can be appropriate to the language. You can set the maximum size for each standard text field individually anywhere from 1 character up to 255 and change the size later if needed. As with Product Extra Fields, fields that are left blank during product entry are not displayed in the catalog.
Other features include:
A Sort Order to determine the order in which fields are displayed.
Advanced Search control to determine whether or not the catalog user can search on a field individually when using Avanced Search. This search control applies to each field separately so you can make some fields searchable and some not.
Product Listing control to determine whether or not the contents of a field get displayed in the product listings underneath the product name. Again this applies to each field individually so this is not an all fields or none choice as it is with Product Extra Fields.
META Keyword control to determine whether or not the value of a field will be used in a META Keyword tag on the product information page.
Options for for fields that are defined to use a list of values are:
Restrict Product Listings which allows users to restrict the results of a product listing in index.php. It operates similar to the way osCommerce works when you view a category containing products from multiple manufacturers, or a manufacturer with products in multiple categories.
Show Chain of Parent Values: Much as categories can contain other categories, this contribution allows values in the drop down lists to contain other values. For instance, if you created a drop down list field for Product Type and one of the values for that field was Movies then you could create values under Movies of VHS, DVD and BluRay. If a product then had the value set to DVD, with Show Chain enabled the value would display as Movies | DVD. Otherwise the value would display as just DVD.