Thank you for your post!
You might check into Hiding or showing layout objects in FileMaker Pro based on a specific condition or calculation... The Hide Object When feature could be calculated on several fields to show or hide according to what the Product Type/Category are, for example.
I hope this helps!
Hiding can become quite awkward, depending on the number of different product types. You may want to know that you can put many fields (or other layout objects) into a container object (e.g. a slide control) and hide all the enclosed objects by hiding the container.
Another, more flexible approach is to use the Entity-Attribute-Value model (do a web search), i.e. store in your Product table only the attributes that are common to all products, and use a related table instead of fields for the distinct ones. Show the related records (aka attributes and their values) in a portal will automatically show the correct “fields”. You will probably want to use a script to automate the create of the related records, based on a definition (which could just be table of product types with an attribute list).
This means that “behind the scenes” your product can be as complex as it needs to be, while for the “outside” world (other tables) a product is still just that. As a side benefit, your product table schema will be neat and tidy.
Along with suggestions by TSPigeon and erolst, I wonder if a slide panel here would help with triggers to show the appropriate slide based on the product. I have not used this in a List view, but I have in a Form view where I wanted to show different information. Make the panel blend with the background, don't show the dot.dot.dots, trigger so the change is seamless to the end user.
These may help:
I endorse the use of slide panels for this. I have used that method in a Contacts db, where some contacts are persons and some are business entities. I group all the person fields on a single slide panel, group all the business entity fields on another, stack them on top of each other and then use hiding to reveal only the relevant set. The beauty of this approach is that you only need the hide condition on the panel, not its contents, to hide or reveal the lot, and can also manipulate layout position as a group.