eadameg wrote:
Maybe method three: Create just one attribute which has the combinations of both size and colour, so for each attribute value  you can assign a price increase: example "red 1" +$25; "red 2" +$27; "black 1" +$20...

I see what you're getting at, it could work in some circumstances. For the scenario I have described it would lead to a single drop-down box with between 20 and 50 options depending on the product selected. The other concern is that it wouldn't provide individual SKUs for stock-keeping.

I'm currently working on a new product template that is similar to OneVariant, and initialy it presents the colour options for all variants in one drop-down, and the size options for all variants in a separate drop-down. At this stage it doesn't pay attention to the price adjustments since the price is set for the variant itself. I'm using javascript to automatically select the correct variant based upon the choice of colour and size selected, so when the add to cart button is clicked the appropriate variant is added to the cart contents.

I think ultimately I will replace the drop-downs with a variant matrix so that the customer can see all options that are in stock at a glance, and select the desired variant with a single click. This in some ways is easier to achieve since I can modify the variants repeater in the VariantsInGrid product template.

I still like the idea of reworking how products and attributes are associated in nopCommerce but I have to be realistic about timeframes :)