Using PHP and MySQL, develop a system in which an online shopping cart owner can create schemas for different product types, similar to eBay's "item specifics", and to display a form based on those schemas and save the form data to a database table or field.
The store owner must be able to create product types and categories of product types, for example, "Jewelry ⇒ Gemstones &rArr Cut Gems" or "Clothing ⇒ Pants". These can be stored in a table where the entry's "parent" determines its place in the hierarchy.
The store owner must then be able to create/edit/delete schemas of any number of custom attributes for a product type, where he can define attribute field names (size, color, cut, style, etc.) and *maybe* data types (string, integer, decimal). These fields can be stored individually in a "schema" table referencing the product type by id or stored in a large VARCHAR or BLOB in XML/JSON/CSV/whatever-you-want format.
There should be a function to display HTML form fields for the requested product types and restrict input as necessary. The form processor function should take the schema fields and combine the values into a format suitable for storage in a single VARCHAR or BLOB field. Of course, there should also be functions to read the schema field and serialize the data into an array (for later display and manipulation).
The code should be generic enough that it could be included in any shopping cart software with little effort.