Sheet music and CD store implementation in VirtueMart
General description:
Customize Virtuemart to sell sheet music and CD’s.
The process will be done in several steps, and the first step is described here. If you do a good job on the first step you will get the next ones.
The first step is to add support for names and roles connected to products.
When you sell sheet music and CD’s the customers need to be able to search for people connected to the products. Artists, composers, arrangers etc. A typical store that utilizes this is Amazone.com.
Database modifications:
We need two new tables: vm_roles and vm_prod_roles.
The People table
Since VirtueMart already have a people-table with relevant fields I’d like to use that unless the programmer can come up with a good argument to use a separate table. Relevant VirtueMart table is vm_user_info.
Only one field must be added: roles YES or NO. Only people with YES here shows up in the product-people list.
The Role Table
Contains info about the possible roles that a person can have in a product.
Table name: vm_roles
Field name Type Comment
role_id Int(11) Auto_increment Unique nr
role_type Text 255 composer, arranger, artist etc
role_short Text 10 Abbr to be used in lists (Ex Comp for composer, Arr for arranger etc)
role_sort_order int Sort order in lists
Role_placement Text Where should the text appear in layout and whether to display Last name, First Name, or Company fields
The People/Product/Role Table
One person can have multiple roles in a product (For example he can be both composer AND artist on the same CD). We need a table to define his role(s) in the specific product.
Table name: vm_prod_roles
Field name Type Comment
prod_role_id Int(11) Auto_increment Unique nr
product_id Int(11) Linked to product
user_id Int(11) Linked to user
role_id Int(11) Linked to role
Modifications to layout
Shop side
1. Include results from the people database in the free text search. Search the first and last name.
2. Include product categories in search.
3. Create two new Browse pages with and without product thumbnails. See attached file for details.
4. Ajax drilldown search system on top of the product listing. See attached file for details.
5. Allow the roles to be visible on all lists in the store through out the check out system, invoices etc. This is to identify products with similar names but different arrangers etc.
6. Add the roles to the