Solution: aMember cart functionality

Discussion in 'Integration' started by smijos, Apr 29, 2010.

  1. smijos

    smijos New Member

    Joined:
    Jul 1, 2009
    Messages:
    5
    Hey everybody - I didn't find this in the manual and I haven't seen it in the forums (looked around - maybe it's there, I don't know).

    BUT I just wanted to share a little tip from tech support. Others have expressed frustration about shopping cart functionality.

    Here's what I did --

    1. aMember CP->Setup->Advanced-> "Select Multiple Products on Signup Page" and also "Select Multiple Products on Member Page" (careful - aMember warns against using this with "Assign paysystem to product" so you don't mix paysystems in one order)

    2. Set up each of your products with a unique price_group. In my case, I made the price_groups negative so that products would not show up in the member area, and would only show up on the signup page when called for. Can be done via mysql for speed.

    3. Then whatever shopping cart you use needs to create an array or database entry (or whatever) for each of these price_groups as each purchase button is clicked. This data will be used to build a URL.

    4. Finally, (the tip from tech support) you can then display ONLY the selected products using a URL that looks like this - "somedomain.com/amember/signup.php?price_group[]=-1&price_group[]=-8&price_group[]=-126" etc etc

    Now if somebody orders twenty things the URL gets a bit long. There's probably a way to accomplish this array in signup.php but that involves editing core files (which I'll likely be doing).

    Anyway it works, creates a nice looking invoice, bills correctly, and the one-time download plugin integrates perfectly. Members download just the products they ordered from their member page

    Now... if a member who has already signed wants to make another order, you'll need to make sure to communicate that they should login. Once their logged in, when they make a purchase, the URL should change to something like this "somedomain.com/amember/member.php?tab=add_renew&price_group[]=-1&price_group[]=-3" That way they aren't having to sign up again.

    hopefully that's helpful and makes sense. It was a HUGE help to me!
  2. miso

    miso aMember Pro Customer

    Joined:
    Aug 22, 2006
    Messages:
    543
    That's one way of doing it.

    Another, which I'm just in the process of implementing for a client makes up for a very slick solution where you simply edit signup.php and signup.html so that when you can call up signup.php page initially it doesn't show any products (just like a cart - nothing's been added).

    Then when you call a URL like /amember/signup.php?p=1 (for product ID 1) you get it added into an array of products stored in a SESSION and display all the products stored in that array in signup.html.

    Then you get real crafty and add the "REMOVE" option too, so /amember/signup.php?r=1 would remove that item, and you add some ajax to do that in the background and voila - you've got a full on cart functionality in aMember. Well, to certain extent, if you will.

    ;)
  3. skippybosco

    skippybosco CGI-Central Partner Staff Member

    Joined:
    Aug 22, 2006
    Messages:
    2,526
    @miso: this is similar to the solution I've used for a few clients.. let me know if you want the existing code base I have and if the client allows I'll send it your way.
  4. miso

    miso aMember Pro Customer

    Joined:
    Aug 22, 2006
    Messages:
    543
    sure... I'll take a look at what you've got there, if possible.

    thanks!
  5. tj_walke2

    tj_walke2 New Member

    Joined:
    Aug 29, 2006
    Messages:
    1
    Not that it matters ( I found another way around ) but this didn't exactly work right for me.

    When I called a second price group, it seems to supersede the first.

    so: somedomain.com/amember/signup.php?price_group=1&price_group=8
    the cart only shows group 8 products.

    but: somedomain.com/amember/signup.php?price_group=8&price_group=1
    the cart only shows group 1 products.
  6. skippybosco

    skippybosco CGI-Central Partner Staff Member

    Joined:
    Aug 22, 2006
    Messages:
    2,526
    @tj_walke2: can you elaborate on your "other way around"

Share This Page