First I just want to say that this module is looking like basically exactly what I need! Classic Drupal - I'm looking for something and lo and behold, someone's just built it - how cool is that :-) Thanks Ryan for the work and thanks to everyone who donated money towards it.

So yeah, I have put it to work today on a site I'm building.

On the individual product pages and in the shopping cart it's working fine as far as I can tell.

However, when I go to a catalog page, such as e.g. http://localhost/my-new-site/catalog/15, I still get the old-style fixed price (whatever I've set that to, or zero if I hadn't set one yet).

I'm pretty much a newbie to Ubercart, and not got very far into Drupal yet either, so I'm not sure if it's just that there's something else I need to do, to get the catalog listing pages using the variable price as well. Or if that doesn't exist yet. So I'm not sure if this is a documentation/support request or a not-yet-implemented feature. It just obviously doesn't make sense the way it's showing up on my site at the moment.

Thanks in advance for clues :-)

CommentFileSizeAuthor
#6 uc_varprice-catalog.patch1.31 KBgarethsprice

Comments

rszrama’s picture

Hmm, good call. I'm not entirely sure what to do about that one... I wonder if I should just set the price there to whatever the default value for the variable price feature is. Would that make a little more sense perhaps? I suppose it will still breakdown for add to cart buttons used on the catalog pages, though... a quandary indeed.

I'll keep mulling it over, but I'm interested in more feedback / ideas.

Jennifer_M’s picture

Component: Documentation » Code
Category: support » feature

Well how about I describe the behaviour I would like, and you can tell me how troublesome it would be to implement :-)

Here's a case which I suspect will be likely on my site (and probably some others too):

Someone has in mind a (possibly approximate) total donation amount, and they're thinking about how to allocate it among several projects.

If I were that customer, I'm sure I would like to compare the various different projects in a list, ideally with an updatable-on-the-fly total as well so I could see how my sums were coming out. Therefore...

== Ideal behaviour ==

1. Input to variable-price fields available on catalog list.

The variable-price fields would appear in the list exactly as they would on the individual pages. So the customer can start with a list of all projects, all with empty variable-price fields, and go down the list sticking in amounts as they go (and leaving fields blank too if they didn't want to contribute to that project).

I'm not sure yet how we'd want it to behave once the "Add to cart" was clicked - should the inputted amount disappear, or be replaced by some indication of what it was? how would we show it was in the cart?

(I'm noticing that my Catalog page doesn't seem to be telling me when I've already put things into the cart - not for ordinary purchases either. Don't know if that's already in an Ubercart wishlist somewhere. Not entirely sure that this would really work without something of the kind.)

2. Update total then tweak amounts, on same page.

I realise it's highly unlikely that the catalog page will ever offer subtotals, seeing as (aiui) it isn't currently designed to do any sums at all.

Less out of line with how UC is designed already, I'd like the customer to be able to tweak the amounts when they get to the shopping cart (which does have an update button). (But that still seems like it might be a tricky thing to have in a module, and more like UC core. Hope I'm wrong :-) )

== Compromises ==

3. The compromise version of ideal behaviour 2 would be simply not to have updates on the fly. If people want to tweak their amounts after they see the total, they have to return to either the catalog page (if we can implement a version of no. 1) or the individual project pages.

This would be more clicking around for the customer, which is never ideal of course, but I think it would be intuitively pretty understandable behaviour for a newbie customer. It's not very different from, say, selecting a red t shirt and then going back to the product page to change the colour to blue, so it kind of fits in a recognisable user paradigm.

(You see I'm very much aware that what people are "used to" on web shops is fixed amounts. Set-your-own-value isn't completely off the wall, but it's probably less familiar to most people, and where it does appear, it's usually just one "Donate" button. At this stage of the game, for a significant number of visitors to most sites it's quite likely to be the first time they've encountered it in another form. So I've been thinking a lot about the newbies' experience of the process.)

4. The compromise version of ideal behaviour 1 is a bit more debatable. I don't think it works to purely show the default value as if it were a fixed amount, because it's a potentially misleading signal to the customer. It would be so easy for them to come and go off the site never actually realising that it is a variable amount, if they see it looking at first glance the same as a fixed one.

It seems to me that {currency sign + empty field} is about the best non-textual signal we've got for "You Fill In The Amount". And where that's missing, we need to be extra careful to make it clearly not the thing they're "used to seeing".

How about something like this:

a) If customer has already set a value, show their value as e.g. "Your chosen amount $1.50 is in cart."

b) If customer hasn't set a value, instead show "$ You choose this amount".

Obviously it would be nice to have the actual text changeable by the site designer (as you have so neatly done in other places).

5. An even more compromisey compromise on (4) would be only to have the "$ You choose this amount", whether or not they've already set one. For me that's going a bit too unsatisfactorily far into being unhelpful to the customer, as it potentially sends them off to a project/product page only to find they've already been there once. So I don't think it's a long term solution. But if that would be easy/quick, it might be useful as a holding pattern, so that the catalog pages look interimly plausible while people debate the rest of it :-) And it's not that different from not showing them that something's already in the cart.

That's about as far as I've got, although it's all swirling around my head now so I might come up with some other angle later :-)

rszrama’s picture

I think something like your latter compromise solutions sounds reasonable... doing the more radical modifications to the catalog listings really isn't in the scope of this module. Also, simply adding a customizable textfield into the catalog listing won't work because it's not necessarily tied to any form. In other words, someone could put a value in there and then click the link to view the product or an add to cart button might not even be present.

So, altering the display of the amount there to indicate that it's variable would probably be ideal. Doing that through a theme function will make sure it's tweakable by the site designer. I'll try to go for something short, like "Customer specified.", though that's not really as simple as I'd like.

To be honest, these sorts of donations products probably wouldn't normally be included in a traditional catalog, anyways. The goal is for something more like the single donation page that people are used to seeing.

Thoughts?

Jennifer_M’s picture

Just to add... I'm just doing some experimenting with Views as a possible alternative to having a Catalog page at all. Wondering if I can do something similar to no.4 above using that.

Jennifer_M’s picture

oops, hadn't refreshed page & seen your latest when I posted about trying Views.

an add to cart button might not even be present.

Oh I didn't realise that. (well I did say I was an Ubercart newbie...)

So, altering the display of the amount there to indicate that it's variable would probably be ideal. Doing that through a theme function will make sure it's tweakable by the site designer.

OK cool. I'll leave this thread open till you've actually done it, but I think that solution will work OK for me, for now at least.

I'll try to go for something short, like "Customer specified.", though that's not really as simple as I'd like.

Well I guess if you find out in time that most people are feeling the need to tweak it, then you can always change the default to the most popular rival term :-)

To be honest, these sorts of donations products probably wouldn't normally be included in a traditional catalog, anyways.

Oh sure. But like you say, "tradition" - that was then and this is now! "Set your own value" music download releases are a hot topic and getting hotter, while CD sales are not dead yet. So that's a natural mix of fixed & unfixed prices.

I realise the original motivation for this module was mainly from the needs of churches and charities, but if you weren't thinking of the potential music/literature/artwork uses, you maybe don't realise what a wondrous multi-purpose cutting-edge thing you've just built :-) This module is a big win for Ubercart & Drupal on the music/art front i.m.n.s.h.o.

(About a year ago I was thinking "I know the kind of thing I'm going to want... can't see it anywhere yet... will I have to build it myself... that would be a bad use of my time because I'm not enough of a coder... someone else will build it eventually...". And after a considerable amount of weighing up the options, and some lost time exploring Magento, I eventually jumped into climbing the Drupal learning curve. And sure enough here is the new thing just in time for me to use it. It feels like some kind of textbook case of the greatness of open source! ::amused/enthusiastic::)

garethsprice’s picture

Status: Active » Needs review
StatusFileSize
new1.31 KB

Attached is a patch that adds the variable price entry form to the catalog listing page.

It does this by altering uc_price to hide the price field on variable price items, and adding the value textbox to the uc_catalog_buy_it_now form.

We're using it for Gift Cards.