Help - Search - Members - Calendar
Full Version: Movabletype As Shopping Cart (?)
Movable Type Community Forum > Other Product Discussion > Non-Technical
pairacy
i have an idea to build a simple shopping cart.

we just list the product by categories, each product have its own individual page which will display all details about it. (sounds familiar right).
the first thing in my mind when i think about this shopping cart is MovableType.
why? coz i would say it could be a superb cms to handle those product listing! creating category is easy, adding new products (add new entry) is easy, and we could even assign a tag and keyword for the product for better browsing experience, right! MightyGoods even use MT for the same purpose.. isnt that lovely!

BUT...........

this is where i got stucked.. when we talk about an e-commerce website, it's not just a product listing page, right. we need to consider the payment processor (2checkout, paypal..etc), adding item to shopping cart, user registration maybe (to avoid any spammers placing some bullshit orders, fake details..etc)

is it possible for me to hard code all those additional feature, and integrate into mt pages? i know some php/mysql thing, the user registration, login/logout part should be fine with me, and i could put a session checking on any page.. storing item in session also should be no problem in this case, but how bout all those ordering thing? each item will have their own unique code right, how im gonna track all of this? does it mean i have to build another system to store all of this? use the entry id as the product code? store all order in a new table for report generating?...etc suddenly so many things to think!

damn i hate this part.. i was so fucking happy when i realize i can do the product browsing just by using MT, but when i start to think deeper to the e-commerce part, all my plan messed up.. is there any of you out there have done something like this?

or easy to say, do you think that using mt is a good idea for this? or better i just handcode everything from scratch.. thanks!
pairacy
anyone?
Martin Kelley
Hi Pairacy,
This should be possible using the Paypal or Google Checkout "Buy Now" buttons which allow you to add just a snippet of code to any webpage. I used Paypal's to build this website, giving the client the long code and showing them what to edit for each item.

A better way that I want to try out is to set up a separate blog for items. I'd use the RightFields plugin to give the variables that the customer needs to worry about (price, description, image file, etc) and then have the MT template build the Paypal code by dropping the fields in the right place. Doing it all in MT means you could use its search function including tags (I use FastSearch since MT's native engine isn't robust enough).

You can get a glimpse into how I use RightFields in this post on my design blog--note the check box at the bottom of the screenshot. I have a very elaborate RightFields installation on an MT-build blog aggregator that drops the fields into an Yahoo Pipe's RSS feed and displays it on a page using MagpieRSS.

My newest client is adverse to Paypal (they want the money coming directly to their checking account) but it looks like Google Checkout has a similar Buy Now capabilities and doesn't hold onto the money. I'll throw the idea out to them and see what they say. If they nix this too I'll be looking for a hosted shopping cart system like OSCommerce and will try to see how far I can integrate it with MT.

Let me know if you get your site working or want to confer by email (go to contact page on my site).
Martin@ MartinKelley.com
pairacy
thanks man.. appreciate that..

correct me if im wrong alright, so now, the part i misunderstood before was all the order history was actually handled by the payment processor.. is it? including tracking user's shopping history..etc

so i think using mt as the product listing tools is not a bad idea, right! we can use RightField to add additional fields in the entry page.. so we can add some more input, which could be use for the "Add to Cart" piece of code.. hmm.. i think im seeing something here.. but yeah, still we have to try it first before we can say anything.. how lovely it is if there's a "Shopping Cart expansion pack" out there for MovableType.. does anyone ever think of doing this? im no Perl programmer though, so i cant do anything about it.. hehe

Martin, currently i code my shopping cart from scratch.. ya.. have to do all the product listing, user registration, admin page..etc it's only a simple one, just want to understand how a shopping should work coz im confused with almost all shopping cart software out there.. smile.gif
Martin Kelley
QUOTE (pairacy @ Jun 21 2007, 10:02 PM) *
so i think using mt as the product listing tools is not a bad idea, right! we can use RightField to add additional fields in the entry page.. so we can add some more input, which could be use for the "Add to Cart" piece of code.. hmm..


Well, actually the "Add to Cart" will be the same throughout your site. You'll want to hardwire that into the template.

Below I've written up the part of the template that would add the item. This is the Paypal code spliced together with RightFields data. This assumes three Rightfield fields: ItemName, ItemImage, and ItemPrice.

<MTExtraFields>
<MTIfExtraField field="ItemTitle">
<h3><$MTExtraFieldValue field="ItemName"></h3>
<img src="<$MTExtraFieldValue field="ItemImage">" />
<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input src="https://www.paypal.com/en_US/i/btn/x-click-but22.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" border="0" type="image">
<input name="add" value="1" type="hidden">
<input name="cmd" value="_cart" type="hidden">
<input name="business" value="orders@yourdomain.com" type="hidden">
<input name="item_name" value="<$MTExtraFieldValue field="ItemName">" type="hidden">
<input name="amount" value="<$MTExtraFieldValue field="ItemPrice">" type="hidden">
<input name="return" value="http://www.yourdomain.com/thanks/" type="hidden"><input name="cancel_return" value="http://www.yourdomain.com/stopped/" type="hidden">
<input name="no_note" value="1" type="hidden">
<input name="currency_code" value="USD" type="hidden">
<input name="bn" value="PP-ShopCartBF" type="hidden">
</form>
</MTIfExtraField>
</MTExtraFields>

I'm sure there's typos, etc., up there and in reality I'd do some more formatting or at least add some CSS class data. But this gives you the idea.

The <MTIfExtraField field="ItemTitle"> means this code will only display if the ItemTitle field has any data. This way you could have just one MT blog with some posts being e-commerce and others not. In reality I don't know if I'd do this. It might be better to have it a separate MT blog on your site (with a shared CSS and overall design) so you can have other sorts of alternate items.

I just got the greenlight to use Google Checkout with my new client so I should have something interesting up and running soon.
Martin @ MartinKelley.com
pairacy
now i have a better picture.. thanks a lot man! yeah, i think better have a separate blog for the product management, can just use MultiBlog plugin to call it from another blog if we want..

dont forget to share your Google Checkout experience, alright! pity on me in Malaysia since it's only available to US and UK now.. smile.gif
metisinternet
Aboriginal Art Store is an excellent example of mt integrated with oscommerce.
pairacy
QUOTE (metisinternet @ Jul 6 2007, 09:25 PM) *
Aboriginal Art Store is an excellent example of mt integrated with oscommerce.


this is insane.. sweet!
thanks for the link! smile.gif
metisinternet
pairacy,

glad you liked it

let me know if you have any questions.
jelewis8
I had to reply to this because this is something I recently hit upon as a potentially very sweet idea.

And since I have a client who wanted a simple store, and I had pretty much carte blanch development-wise, I started researching how to do this. I had started using the Right Fields plugin about 4 months ago on another blog, so I knew I could add a new table for extra product info, so that's easy enough.

The shopping cart has been tricky, since I didn't want to use PayPal until the very end (as an aggregate payment gateway). So I needed a custom shopping cart that could do all the calcs and session stuff on the site, and only once the user is ready to pay will they be sent to PayPal.

I also wanted to build a way to keep track of users. So I've been building a whole shopping cart with MT as backend for the last couple of weeks. It's coming along, though still a lot of work left to do. Still need to integrate user account creation with the shopping cart, along with a few other features that aren't filled out, but the main shopping cart is now working.

You can see it at http://www.conservatorycoffeeandtea.com/

This is all very experimental, but MT has been amazingly adaptable for use as a store. I can even separate out posts by category so everything's hierarchical and I can have a separate blog as an actual "blog," all running with MT and a modified mySQL database.

Once I complete it, I'll probably post it somewhere as an MT add-on.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.