Also posted on the ubercart forum here: http://www.ubercart.org/forum/support/15587/multipe_product_types_and_ot...

I’m turning an established non-ecommerce site into an ecommerce site. This company has hundreds of items for sale, mainly laid out in tables, and recreating them has not been easy, especially as this is my first site with custom views and ubercart.

Here I have a typical page in the site, and the relative page it is replacing. Please note the ubercart view is at the bottom:
http://www.giantcalculator.com/content/cartridge-filters
Old site: http://wynnenv.com/cartridge_filters.htm

This is just one page of many, and is typical of the products they are selling. However, no all of them have the same fields and they sell other products and kits as well. The problems:

1. Content Type : Product. It would be much easier to have more than one product content type but I can’t figure out a way to do that? I was only able to edit the default “product” content type and add all the numerous fields needed. But the client has so many products with so much taxonomy and fields needing to be collected that the “create product“ page is very long, and depending on the item often it is full of unused fields and taxonomy. If I could create a second or third product type that would be great. But when I try there is no option to add the actual product fields, which are only included in the default ubercart product type.

2. It’s very cumbersome to connect the ubercart view to a page. Right now I have to create the view, then create a mini panel, include the view in the mini panel, then go to blocks page and add the mini panal to a region (currently a region below the main content), then I have to configure the block so the view only appears on it’s one particular page. This seems far too complicated and the particular region will soon have about 20 blocks inside it, though each only appearing on one page. There must be a way to attach a view to its content easier? know the view creates a page of its own, and if I could add the content on top of the view that would be great. Any ideas on a better way of connecting the view and its page content?

3. A few of the products need options. For example, their flexible hose (http://wynnenv.com/flexible_hose.htm ) will be sold in two different lengths. 10’ and 25’. I don’t want to create two separate nodes for each price, but I’m also not sure how to create different price options? It’s it done through the attributes somehow? They will also be selling kits which may require multiple options. I’m guessing ubercart can do this but I’m not sure where to begin?

4. Product sort order: On the extensive filter pages all the products are being arranged (sorted) by their particular Series, which is actually a taxonomy field. When the client creates the product and selects the relevant taxonomy the item automatically appears on a particular page and in its particular series. The series are given product numbers as a secondary sort order. So if a product appears as the first item in the first series on a page and it’s sort order is 101, second items is 102, etc… the next series begins 201, then 202, allowing in the long run to place a new product in anywhere (201A for example). Problem with that is the client has some products they want to put in more than one page. The easiest way is to create a separate product for it so I can get it to appear where I want on the new page. But they don’t want to have to enter or edit the same product in multiples nodes. For example, if they want to edit the price, they want to edit it once and be done with it. But how I use one product node and get it to appear in multiple pages in a particular order depending on the page, I have no idea!!! I needs like an “If Then” statement for the particular page. Again, not a clue how to work this one… I almost need way in a clone the product that really have all be a part of just one node.

5. Database. This is not important right now, I actually see the client one day running their store off some kind of database or spreadsheet. Instead of going into each node and editing it’s content, they’d simply edit the nodes info in a database and upload the changes. I have no idea where to begin with this and I’m not expecting it to happen anytime soon. But I wonder if this will be possible in the future? Could I somehow extract all node info one day and turn it into something the client could edit and upload?
I realize these are some major issues and I’ve delayed asking them until I’d at least gotten to grips with the basics. Now I need the answers. Alas the budget is shot I’m prepared to pay for help out of pocket if none is freely available. I would appreciate your thoughts no matter what.