Just a follow-up:

Yes, a listener on "satchmo_cart_details_query" did exactly what I
needed (pretty much just like part 2 & 3 of the above mentioned
article)

I hunted around for a signal for loading product, but there wasn't
one, I didn't feel like adding one, and I decided that what I had from
before would work if I just fleshed it out some more (and It did
work!)

Side Question:

How come I have to do "product.multicolorproduct.colors.all" to get
the color list? Shouldn't it just be "product.colors.all"  ( I would
think that product would be an instance of MultiColorProduct )?  I
could only get the former to work, so I'm curious to wither that is a
satchmo thing, or a python thing I just haven't seen before?


On Aug 26, 8:35 am, Bob Waycott <[email protected]> wrote:
> Lagg wrote:
> > I was reading (*gasp*) more 
> > ofhttp://thisismedium.com/tech/satchmo-diaries-part-one/
> > - Part 2 and part 3 seem to describe what I want to do. (Part 3
> > specifically with the modification of the cart details). I think this
> > might be one solution to Question 2.
>
> > So, for Question 1, I'm going to assume that I need to hijack a signal
> > from Product, and write a listener function to add a form object to
> > the response, and then call that object in the template?
>
> > I'm not going to mark this as "Solved my own problem" because I'm
> > still open to any ideas.
>
> > Thanks in advance!
>
> > On Aug 25, 12:36 pm, Lagg<[email protected]>  wrote:
>
> >> Thanks to help from the group, I was able to get a custom product
> >> created, added to the admin, and show up in the store.  (I followed
> >> the method described here 
> >> :http://thisismedium.com/tech/satchmo-diaries-part-one/
> >> )
>
> >> The product (MultiColorProduct) I created only differs only from the
> >> default Product in that it has a (one) ManyToManyField( called
> >> 'colors' ) so that it can have multiple colors selected (Think tie dye
> >> tshirt).
>
> >> class MultiColorProduct(Product):
> >>      objects = ProductManager()
>
> >>      colors = models.ManyToManyField(Color)
>
> >>      def __unicode__(self):
> >>          return u'%s' % self.name
>
> >> Now comes actually adding my MultiColorProducts to the cart.
>
> >> Question 1)
> >> How would be the best way to display a multiselect box with the
> >> MultiColorProducts.colors as the options?
> >> I did this in product/product.html
>
> >> <select multiple="multiple" name="colors" id="id_colors">
> >> {% for c in product.multicolorproduct.colors.all %}
> >>      <option value="1">{{c.name}}</option>
> >> {% endfor %}
> >> </select>
>
> >> Obviously "option value" needs to change for each product (I just
> >> threw the code in there for proof of concept), but isn't there a more
> >> django-esk way of getting that data displayed? A form class or model
> >> form class of some sorts? If so, how would I get that class
> >> instantiated since I'm taking Bob Waycott's advice and not messing
> >> with any views.
>
> >> Question 2)
> >> How should I go about getting the custom product data saved to the
> >> cart? Should I try to get the cart to recognize custom data as
> >> CartDetail data? Should I extend Cart into a custom Cart model? Should
> >> I do something completely different?
>
> Do something like this?
>
> <form action="{% url satchmo_smart_add %}" method="post">
> <input type="hidden" name="quantity" id="quantity" value="1" />
> <input type="hidden" name="productname" id="productname"
> value="{{product.slug}}" />
> <input type="submit" class="button submit" id="submit" name="addcart"
> value="Order Product"/>
> </form>
>
> Passing a product.slug & quantity to satchmo_smart_add should be all you
> need to get an item in the cart.
>
> As for adding details to the cart, you are right on the money as far as
> using a listener. It is the cleanest & most maintainable way to take
> care of that need, and exactly what signals are for -- which is why I
> documented it in that blog post.
>
> Really, you shouldn't have to do much of anything special to get an item
> into the Cart.
>
> As for your need on the multicolor options, your select box looks fine
> to me. You don't have to create a form for every element. If you do want
> to create a Django form, you may wind up having to create a custom view
> (note, I said custom view, not modify Satchmo's views).
>
> Customizing Satchmo for your needs is always going to lead you down the
> path of writing code. The more you want to customize, the more you will
> be coding.
>
> Happy coding!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Satchmo users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/satchmo-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to